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.prototype
はundefined
EDITです新しいコードを作成したいのですが、私の単体テストでは、新しいコピーを作成してテスト間で状態が維持されないようにしたいです。
シングルトンのリテラル定義は、* 1つのインスタンスしか持たない* ... – Li357
また、Object.createは必要ありません。インスタンスを作成するクラスにアクセスできない場合は、requireまたはimportキーワードを使用してインスタンスをインポートする必要があります。そのクラスがシングルトンの場合、既存のインスタンスへの参照を取得するだけですが、それはシングルトンだからです... – Kokodoko