javascript - Javascript 中的 [[prototype]] 是什么

标签 javascript

引用下面的例子( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain ),为什么当我写 o.[[Prototype]] 时会出现错误(使用 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);

最佳答案

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

关于javascript - Javascript 中的 [[prototype]] 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47683856/

相关文章:

javascript - 当 html 选择/选项更改时,需要更新输入字段

javascript - 如何删除 Vue.js 中的元素?

javascript - 将鼠标悬停在图像上时如何使背景变暗

javascript - 如果我使用 ValidationRequest=True 来防止 asp.net 中的 XSS(跨站脚本),我们是否需要 Html 编码?

javascript - 多个事件,一个函数

javascript - 将 vanilla ES6 扩展类导入 React

javascript - ReactJs 正确应用 javascript

javascript - 如何处理 JavaScript 构造函数中声明的变量?

Javascript:Cloud Firestore 合并正在替换数据

javascript - 有人可以告诉我我的下拉菜单 javascript 代码有什么问题吗