@DanCouper gave a great answer to this very question: Difference among instaceof,constructor property,isPrototypeOf
Another distinction, this one from the MDN:
Note:
isPrototypeOf()
differs from theinstanceof
operator. In the expression "object instanceof AFunction
", theobject
prototype chain is checked againstAFunction.prototype
, not againstAFunction
itself.