2017-02-11 12 views
7

es6 "class"で作成したクラスを本当に削除できますか?ES6クラスを削除できますか?

class myClass{} 
 
delete myClass; 
 
console.log(myClass); //output: class myClass{} 
 
var myClass=0; //Uncaught SyntaxError: Identifier 'myClass' has already been declared

+1

JavaScriptの[オブジェクトのプロパティを除く](http://perfectionkills.com/understanding-delete/)では**何か**を削除することはできません。あなたは何をしようとしていますか?このコードはどこにありますか? – Bergi

+1

アイデアはあなたが作成したクラスを定義解除することです。これは、例えば、デバッグに役立つ可能性があります。 –

+0

これを 'undefined'に設定すると、ガベージコレクションのために' null'を設定できます。 – Leo

答えて

1

のみオブジェクトのプロパティまたはグローバルである変数を削除します削除します。

+2

2番目の部分を削除します。グローバルオブジェクトのプロパティだけを削除できます。すべてのグローバル変数を削除することはできません。 – Bergi

1

https://stackoverflow.com/a/44694753/461412

この答えは便利です。まだ完璧ではありません。

私はそれが識別子として宣言された後では決して削除することはできないだろうと思っていますが、最初に削除可能な変数にそれを書き込むことができます。

まだもっと良い解決策を探しています。私たちのチームは取り外し可能なモジュールシステムを構築しようとしています。致命的には、宣言されたクラスはすべて取り外し可能ではありません。私たちはロードするすべてのモジュールを透明にするという考えが嫌いです。

関連する問題