Skip to content

The instanceof Operator #398

@k-lekh

Description

@k-lekh
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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions