2017-02-11 13 views
7

Czy naprawdę możemy usunąć tworzenie klasy przez es6 "class"?Czy możemy usunąć klasę ES6?

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

+1

Nie można "usunąć" ** niczego ** w JavaScript, [z wyjątkiem właściwości obiektu] (http://perfectionkills.com/understanding-delete/). Co próbujesz nawet zrobić? Gdzie znalazłeś ten kod? – Bergi

+1

Chodzi o to, aby niezdefiniować klasę, którą stworzyłeś. Może to być przydatne na przykład przy debugowaniu. –

+0

Możesz ustawić go na 'undefined', a następnie' null' na "śmieci". – Leo

Odpowiedz

1

Usuń usunie tylko właściwości obiektu lub zmiennej, która ma zasięg globalny.

+2

Upuść drugą część - można usuwać tylko właściwości obiektu globalnego, a nie wszystkie zmienne globalne. – Bergi

1

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

ta odpowiedź jest przydatna. jeszcze nie doskonały.

Domyślam się, że nigdy nie można go usunąć po zadeklarowaniu go jako identyfikatora, ale w pierwszej kolejności można go zawinąć do zmiennej deletable.

Nadal szukam lepszego rozwiązania. nasz zespół stara się zbudować system odłączanych modułów. śmiertelnie, żadna zadeklarowana klasa nie jest odłączalna. nie podoba nam się pomysł transpozycji każdego ładowanego modułu.

Powiązane problemy