بازگشت به درس

دو تابع - یک شیء

اهمیت: 2

آیا امکان دارد که تابع های A و B را به گونه ای ساخت که new A()==new B()؟

function A() { ... }
function B() { ... }

let a = new A();
let b = new B();

alert( a == b ); // درست

اگر امکان دارد، پس یک مثال از کدهایشان تهیه کنید.

بله، امکان دارد.

اگر یک تابع یک شیء را برگرداند سپس new آن را به جای this برمی گرداند.

پس آنها می توانند، برای مثال، شیء تعریف شده خارجی مشابه را برگردانند.

let obj = {};

function A() { return obj; }
function B() { return obj; }

alert( new A() == new B() ); // درست