【发布时间】:2021-09-19 14:11:22
【问题描述】:
在阅读面向 Web 开发人员的 Processional JavaScript 第 4 版时,我发现了这样一句话:
当通过对象字面量表示法定义对象时,Object 构造函数永远不会被实际调用。
但是如果对象字面量不是通过Object构造函数创建的,它如何访问Object.prototype的属性呢?
像这样:
Object.prototype.a = 1
let obj = {}
console.log(obj.a) // 1
或者谁能告诉我这本书给出的结论是如何得出的?我在 ECMAScript 规范中没有找到任何关于此的内容。
【问题讨论】:
-
它不必调用构造函数来获得原型。
-
{}没有显式调用 any 构造函数,但它是某事的一个实例。这在幕后隐含地发生。 -
@CherryDT 你的意思是它有自己的方式来连接
Object.prototype? -
你也可以这样做,你可以使用
Object.setPrototypeOf设置一些东西的原型。 -
It 调用 OrdinaryObjectCreate(如
Object.create()btw),它不调用 Object 构造函数。
标签: javascript object prototype