【发布时间】:2018-08-13 11:38:42
【问题描述】:
我更深入地研究使用 JavaScript 的原型继承。当 Object.Create() 用于创建对象时,有人可以展示幕后发生的事情吗? Object.Create() 是否依赖于幕后的 new 和构造函数?
【问题讨论】:
-
“Under the hood”是一种完全不同的编程语言,用于实现 JS 运行时,因此“new”和“constructor”之类的含义不同。
-
你试过看v8 source?
-
这是实现必须(语义)符合的规范部分:tc39.github.io/ecma262/#sec-object.create 这仅描述语义要求。实际的实现可能并且很可能非常不同。
-
polyfill example on MDN 应该很好地展示了这里发生的事情。它不处理额外的属性,只是基本的创建,但应该相当清楚。
标签: javascript prototypal-inheritance