JavaScript 繼承:Object.create 與new
JavaScript 中的繼承概念可能會令人困惑,因為有多種方法可以實現它。本文旨在闡明最受接受的方法,並為您的特定場景提供解決方案。
了解 Object.create 和 new
Object.create 是一個建立物件的方法透過從現有物件繼承來建立新物件。當您想要建立基礎物件然後使用其他屬性和方法來擴展它時,這非常有用。 Object.create 的語法是:
Object.create(prototype[, propertiesObject])
另一方面,new 關鍵字用於建立物件的新實例並呼叫其建構子。 new 的語法是:
new ConstructorFunction([arguments])
選擇正確的繼承方法
Object.create 和 new 之間的選擇取決於您的特定要求。 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);
這將建立繼承自 Model 原型的新 RestModel 原型。
以上是何時為 JavaScript 繼承選擇 Object.create 而不是 new?的詳細內容。更多資訊請關注PHP中文網其他相關文章!