torna alle lezioni

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