Garip instanceof
önem: 5
AÅaÄıdaki instanceof neden true dönüyor? Aslında aânın B() tarafından üretilmediÄi açık.
function A() {}
function B() {}
A.prototype = B.prototype = {};
let a = new A();
alert( a instanceof B ); // true
Gerçekten de garip.
Fakat instanceof aslında fonksiyonu umursamaz, bunun yerine bunun prototypeâını umursar ve bu prototip zinciriyle karÅılaÅtırılır.
Burada a.__proto__ == B.prototype, bundan dolayı instanceof, true dönecektir.
Ãyleyse, instanceof mantıÄına göre asıl tipi gelirleyen prototiptir, yapıcı fonksiyon deÄil.