Jeśli mamCzy klasa IIFE jest wymagana w klasie w ECMAScript/Javascript 6?
Class Car {}
muszę zawinąć że z naszego zamknięcia funkcji? Czy var dostaje się do okna? lub po prostu do klasy? A co z przeniesieniem? Czy Traceur/Babel zamieniają go w IIFE i wpadasz w var?
Czy muszę:
(function(){
Class Car() {}
}());
Aby być bezpieczne?
To zależy od tego, czy ładujesz plik jako skrypt, czy jako moduł. Jak ładujesz plik? – loganfsmyth
Natywnie, to naprawdę dobre pytanie. Testowane tutaj z Edge i chociaż mogę mieć plik 'car.js' z deklaracją tej klasy oraz plik' new-car.js' używający tej klasy, jeśli zapiszę 'Car' na konsoli, to pokaże mi konstruktor, ale jeśli loguję 'window.Car', pokazuje' undefined'. – Buzinas
@Buzinas: To trochę inaczej. Deklaracje leksykalne ('class',' let' i 'const') nie stają się właściwościami obiektu globalnego. –