Продолжая рубрику хороших практик, поговорим про такую простую казалось бы вещь как организация нашего кода в модули. Вещь простая но несомненно очень важная. Обертка анонимной функцией Хорошей практикой при разработке будет оборачивать исполняемый код в анонимную функцию. Это позволит Вам изолировать данные (функции и переменные) в замыкании. (function(window) {
...Тут Ваш код
})(window); В рамках ES6 этот подход можно применять по разному. Самым простым примером будет такой подход: (function(window){
class YourOwnClass{/.../};
document.addEventListener("DOMContentLoaded", () => {
let layout = new YourOwnClass();
});
})(window); Но в примере выше есть одна особенность. Код вне анонимной функции ничего не знает о переменной layout и не может взаимодействовать с ней. Тут нам на помощь приходит такой подход как реализация фасадов или по другому - интерфейсов. (function(window){
class YourOwnClass{/.../}; //методы указанные внутри класса являются интерфейсом