js 中每个对象都有一个“原型”,原型一般可以通过 __proto__访问到
原型,也是一个对象
“原型”是一个普通的对象;
原型链:
爸爸也有他的爸爸,原型也有它的原型
let obj = { proto:
{ __proto__:
{ haha: 'gogo' }
}
}
console.log(obj.haha) // "gogo"
因为 obj 本身没有 haha 这个属性,所以它会去自己的 proto 中查找,如果还没有找到,那就会向它的 proto.proto 中去找,直到找到 haha 属性或者 proto 链返回 null 为止。