назад до уроку

Дві функції - один об’єкт

важливість: 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