-
Notifications
You must be signed in to change notification settings - Fork 556
Open
Description
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
Metadata
Metadata
Assignees
Labels
No labels