2017-10-24 37 views
1

は私がES6:クラス内でインスタンスをnullに設定する方法は?

if (instanceOfClass === null){ 
    // ... 
} 

instanceOfClass変数が動的スクリプト中にnullになり、必要に応じて、新しいインスタンスが割り当てられます使用する必要があります。また、私はinstanceOfClass = nullを書きたくない:クラスは、それはそれぞれのメソッド内部でインスタンス自体だ破壊するならば、それはよりエレガントになります。

SomeClass{ 

    // ... 

    cancelOperation(){ 
     this = null; // don't work 
    } 
} 

instanceOfClass = new SomeClass(); 
instanceOfClass.cancelOperation(); 
instanceOfClass = new SomeClass(); 

私はそれを動作させるためにthis = null;の代わりに記述する必要がありますか?

答えて

2

クラスを破棄するのは悪い習慣です。代わりに、新しいインスタンスを割り当てる場合は、クラスを削除する準備ができていることを示すフラグを使用します。

MyClass { 
    readyToBeDeleted: boolean = false; 

    cancelOperation() { 
    this.readyToBeDeleted = true; 
    } 
} 

、その後から外にチェックし、必要に応じて再割り当て:

if (myClass.readyToBeDeleted) { 
    myClass = new MyClass(); 
} 
+0

が答えてくれてありがとう! –

関連する問題