簡體   English   中英

創建具有特定原型的空對象

[英]Create an empty object with a specific prototype

我正在將經典的OOP項目轉換為JS。 一切進展順利,我只需要知道我使用的一種方法是否具有速記/常規方式即可達到與我相同的效果。

在我的設計中,我需要創建一個具有特定原型的空對象。 我使用一個空的虛擬函數作為constructor函數,因為我需要一個空的對象。 我不能使用new Object()因為我需要在創建之前附加一個原型。

這是我的代碼:

var baseObj = {name: '', id: 0}

function emptyObj () {
    //this is really a dummy
}

emptyObj.prototype = Object.create(baseObj);

myUser = new emptyObj();

請注意, 我必須遵循這種模式,並且我的項目可以很好地運行。 我只想知道是否存在一種速記/常規方法來創建帶有原型的空對象。

請堅持使用ES5。

我只想知道是否有一種速記/常規方法來創建帶有原型的空對象

是的,有一個可以做到這一點。 並且您已經使用過它。 它稱為Object.create

您的代碼完全等同於

var baseObj = {name: '', id: 0};
myUser = Object.create(Object.create(baseObj));

我不確定您是否真的打算進行兩級繼承,還是單次調用就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM