2017-06-30 119 views
0

在coffeescript中,我有一個從類創建的對象。後來,我不再有權訪問該類,但我想創建一個新實例。例如:Coffeescript創建一個給定該類的對象的類的新實例

# MySingleton.coffee 

class MySingleton 
module.exports = new MySingleton 

然後:

# MySingletonTests.coffee 

mySingleton = require './MySingleton' 

# testSingleton = ??? 
# I would like to create a new MySingleton here 

我想,我想在這裏使用像JS的的Object.create,但如果我叫Object.create(mySingleton)它似乎只是讓老參考對象,mySingleton.prototypeundefined

編輯: 我知道我可以只導出類在這個例子中,但我希望不要因爲它是一個singleto n在生產代碼,我想確保它不會得到new'd,但在我的單元測試,我想做它的新副本,所以狀態不會持續在測試之間

+1

一個單例的字面定義是*它只有一個實例* ... – Li357

+0

另外,你不應該需要Object.create。如果您無法聯繫課程來創建實例,則需要使用require或import關鍵字將其導入。如果這個類是一個單例,你只會得到一個對現有實例的引用,但那是因爲它是一個單例... – Kokodoko

回答

1

事實證明new myInstance.constructor()正是我想要做的。

相關問題