2017-06-30 12 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)を呼び出す場合、単に古いへの参照を作るように見えます私はそれがsingletoあるので、私はちょうどこの例では、クラスをエクスポートすることもできますが、私はないと期待していた知って :オブジェクト、およびmySingleton.prototypeundefined

EDITです新しいコードを作成したいのですが、私の単体テストでは、新しいコピーを作成してテスト間で状態が維持されないようにしたいです。

+1

シングルトンのリテラル定義は、* 1つのインスタンスしか持たない* ... – Li357

+0

また、Object.createは必要ありません。インスタンスを作成するクラスにアクセスできない場合は、requireまたはimportキーワードを使用してインスタンスをインポートする必要があります。そのクラスがシングルトンの場合、既存のインスタンスへの参照を取得するだけですが、それはシングルトンだからです... – Kokodoko

答えて

1

それはnew myInstance.constructor()私がしたいことを正確に行います。

関連する問題