JavaScript-Garden icon indicating copy to clipboard operation
JavaScript-Garden copied to clipboard

The instanceof Operator

Open k-lekh opened this issue 4 years ago • 0 comments

The instanceof operator compares the constructors of its two operands

This is a bit misformulated and can be wrong understood: according to MDN, instanceof compares not constructor (property of prototype object, but the exact link to prototype objects.

If you set only constructor property, the instanceof will return false, because despite prototype objects looks equal, they are actually different objects:

function A(){}
function B(){}
B.prototype.constructor = A; // *

// has the same constructor 
B.prototype.constructor === A; // true

// but this does not mean its an instance of
new B() instanceof A; // false

k-lekh avatar Jan 25 '21 15:01 k-lekh