Ushbu ochiq manbali loyihani butun dunyo bo'ylab odamlar uchun taqdim etmoqchimiz.

Ushbu qo'llanmaning mazmuni sizning tilingizga tarjima qilishga yordam bering!

darsga qaytish

G'alati instanceof

Nima uchun instanceof quyida true ni qaytaradi? Biz a ning B() tomonidan yaratilmaganligini osongina ko’rishimiz mumkin.

function A() {} function B() {} A.prototype = B.prototype = {}; let a = new A(); alert( a instanceof B ); // true

Ha, haqiqatan ham g’alati ko’rinadi.

Ammo instanceof funktsiyaga ahamiyat bermaydi, aksincha uning prototype, prototip zanjiriga mos kelishi muhim.

Va bu yerda a.__proto__ == B.prototype, shuning uchun instanceof true ni qaytaradi.

Shunday qilib, instanceof mantig’iga ko’ra, prototype aslida konstruktor funktsiyasini emas, balki turini belgilaydi.