gpt4 book ai didi

javascript - 是否需要对有关 "inheritance"的 MDN 文章进行技术审查?

转载 作者:行者123 更新时间:2023-11-29 15:33:14 25 4
gpt4 key购买 nike

下面是代码,

function Employee() {
this.name = "";
this.dept = "general";
}

function WorkerBee() {
Employee.call(this);
this.projects = [];
}
WorkerBee.prototype = Object.create(Employee.prototype);

var mark = new WorkerBee;

哪里MDN说:

The mark object inherits values for the name and dept properties from the prototypical object in mark.__proto__. It is assigned a local value for the projects property by the WorkerBee constructor.

根据上面的代码,构造函数 WorkerBee 显式调用 Employee.call(this); 但没有从 mark.__proto__ 继承值.

WorkerBee.prototype = Object.create(Employee.prototype); 与为属性 namedept 创建本地值无关> 在 mark 对象中。

您认为 MDN 中给出的继承值的说法是错误的吗?示例和想象是否需要返工?

最佳答案

在 ES 5 之前,您会编写 WorkerBee.prototype = new Employee,因为没有 Object.create。那时的说法在某种程度上是正确的。

如果您继续阅读,您实际上会看到一个显示旧代码的图表,其中也省略了 Employee.call(this);

所以答案是你是对的,他们忘记更新文章的部分内容。

关于javascript - 是否需要对有关 "inheritance"的 MDN 文章进行技术审查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32357179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com