Link Search Menu Expand Document

Модули

Модули помогаю избежать глобального пространства, а также избежать конфликтных ситуаций с одинаковыми названиями переменных

Создание модуля через анонимную самовызывающуюся функцию

 (function () { }());

Данный прием позволяет сразу запустить написанную функцию и получить локальную область видимости.

const number = 1;
(function () {
    let number = 2;
    console.log(number);
    console.log(number + 3);
}());
console.log(number);

Создание модуля через создание объектного интерфейса

В модуль записывается переменная и в нее возвращаем методы доступные снаружи.

const user = (function () {
    const privat = function () {
        console.log('Приватная функция');
    };
    return {
        sayHallo: privat
    };
}());

user.sayHallo();

Ананимная самовызывающаяся функция создает объект в который записываются свойства которые потребуются “снаружи”.