参考以下示例(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain),为什么在撰写nodejs
时会收到错误(使用o.[[Prototype]]
),但在编写o.__proto__
var o = {
a: 1,
b:2
}
o.[[Prototype]] = {b:1, c:3}; //doesn't work
o.__proto__= {b:1, c:3}; //works
console.log(o.a);
console.log(o.b);
console.log(o.c);
答案 0 :(得分:1)
[[Prototype]]
是Javascript虚拟机(实际读取并执行您编写的代码的程序)使用的内部属性。您可以在某些调试器(例如Chrome中的调试器)中对其进行读取访问,但在代码上下文中无法使用它。相同且 可用的属性是__proto__
属性,它根据Javascript类型的继承结构指定对象的父级。