」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 何時為 JavaScript 繼承選擇 Object.create 而不是 new?

何時為 JavaScript 繼承選擇 Object.create 而不是 new?

發佈於2024-11-19
瀏覽:354

When to Choose Object.create Over new for JavaScript Inheritance?

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