Przy określaniu klasy w ES6, staje się dostępne w zasięgu globalnym, której można zapobiec z nową obudową zamka ES6:Jak używać modułów ES6 zamiast przestrzeni nazw w zasięgu globalnym?
{
class Car {
constructor(make) {
this.make = make;
this.currentSpeed = 25;
}
getSpeed(){
console.log(this.make + ' is going ' + this.currentSpeed + ' mph.');
}
}
window.MYNAMESPACE.Car = Car;
}
mam wiele plików js, każdy z własną definicję klasy, a ja udostępnia klasy za pośrednictwem MYNAMESPACE w zasięgu globalnym. Więc tworząc nowy samochód z dowolnego wygląda następująco:
var myCar = new MYNAMESPACE.Car();
Jak mogę korzystać z modułów ES6 do tego? Czy to jest nawet możliwe, czy godne polecenia?
Dzięki! Prosty przykład może przejść długą drogę! Te linki mają tendencję do przeciążania słabego czytelnika najbardziej wymyślnymi przykładami na świecie :) – Kokodoko
Przy okazji, czy mogę pominąć {} anonimowe nawiasy na początku/końcu każdej klasy? Jaki jest najlepszy sposób na zainicjowanie głównego app.js po window.onload? – Kokodoko
@Kokodo możesz je pominąć. W celu włączenia możesz po prostu dołączyć plik js z