JavaScript 继承:Object.create 与 new
JavaScript 中的继承概念可能会令人困惑,因为有多种实现方法它。本文旨在阐明最受接受的方法,并为您的特定场景提供解决方案。
理解 Object.create 和 new
Object.create 是一个创建对象的方法通过从现有对象继承来创建新对象。当您想要创建基础对象然后使用其他属性和方法扩展它时,这非常有用。 Object.create 的语法为:
Object.create(prototype[, propertiesObject])
另一方面,new 关键字用于创建对象的新实例并调用它的构造函数。 new 的语法是:
new ConstructorFunction([arguments])
选择正确的继承方法
Object.create 和新的取决于您的具体要求。 Object.create 非常适合创建要继承的基础对象而不调用其构造函数。例如:
const Model = { // Base object properties and methods... }; const RestModel = Object.create(Model);
但是,如果您想在继承对象上调用基础对象的构造函数,那么您应该使用 new。例如:
function Model() { // Base object constructor... } function RestModel() { Model.call(this); // Additional properties and methods... }
适合您的场景的解决方案
在您的情况下,您希望从 Model 基础对象继承 RestModel。要使用 Object.create 实现此目的,您可以执行以下操作:
RestModel.prototype = Object.create(Model.prototype);
这将创建一个继承自模型原型。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3