What's the difference between instanceof, isPrototypeOf and constructor ===

@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 the instanceof operator. In the expression " object instanceof AFunction ", the object prototype chain is checked against AFunction.prototype , not against AFunction itself.