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.