Дві функції - один об’єкт
важливість: 2
Чи можливо створити функції A
та B
, щоб new A() == new B()
?
function A() { ... }
function B() { ... }
let a = new A();
let b = new B();
alert( a == b ); // true
Якщо так – наведіть приклад коду таких функцій.
Так, це можливо.
Якщо функція повертає об’єкт, тоді new
повертає його замість this
.
Так функції A
та B
можуть, наприклад, повертати один і той самий об’єкт obj
, визначений незалежно від цих функцій:
let obj = {};
function A() { return obj; }
function B() { return obj; }
alert( new A() == new B() ); // true