JavaScript 的对象拥有一个特殊的内部关联[[Prototype]]。它的值要么为null,要么指向另一个对象(即其原型)。当读取对象缺失的属性时,引擎会沿此关联向上追溯,这种行为即原型委托。
尽管在现代工程中建议使用 Object.getPrototypeOf(),但仍可通过传统的 proto 属性访问此关联:
let A = { name: 'A' };
let B = {};
// B 的原型没有指向 A
console.log(B.name); // undefined
// B 的原型指向了 A
B.__proto__ = A;
console.log(B.name); // 'A'
2021/6/28...大约 8 分钟
