什么是Javascript中的[[prototype]]

时间:2017-12-06 21:37:51

标签: javascript

参考以下示例(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);

1 个答案:

答案 0 :(得分:1)

[[Prototype]]是Javascript虚拟机(实际读取并执行您编写的代码的程序)使用的内部属性。您可以在某些调试器(例如Chrome中的调试器)中对其进行读取访问,但在代码上下文中无法使用它。相同且 可用的属性是__proto__属性,它根据Javascript类型的继承结构指定对象的父级。