Due funzioni – un oggetto
importanza: 2
E’ possibile creare due funzioni A
e B
tali che new A()==new B()
?
function A() { ... }
function B() { ... }
let a = new A;
let b = new B;
alert( a == b ); // true
Se pensi che sia possibile, prova a scrivere il codice.
Si, è possibile.
Se una funzione ritorna un oggetto, questo verrà ritornato da new
invece di this
.
Quindi, le due funzioni potrebbero ritornare un oggetto definito esternamente obj
:
let obj = {};
function A() { return obj; }
function B() { return obj; }
alert( new A() == new B() ); // true