原型链
核心公式:
实例.__proto__ === 构造函数.prototype
构造函数.prototype.constructor === 构造函数
Object.__proto__ === Function.prototype // Function 是 Object 的实例
Function.prototype.__proto__ === Object.prototype
手写 instanceof:
function myInstanceof(left, right) {
let proto = Object.getPrototypeOf(left)
while (proto) {
if (proto === right.prototype) return true
proto = Object.getPrototypeOf(proto)
}
return false
}