@oleshkin

Для чего нужен паттерн модуля (module pattern) в js?

Всем здравствуй мир!
Читаю книгу Scope & Closures из серии You don't know JS и в пятой главе Closures не понял реального способа применения кода модуля:
function CoolModule() {
 	var something = "cool";
 	var another = [1, 2, 3];

 	function doSomething() {
 		console.log( something );
 	}

 	function doAnother() {
 		console.log( another.join(" ! ") );
 	}

 	return {
 		doSomething: doSomething,
 		doAnother: doAnother
 	};
 }

 var foo = CoolModule();
 foo.doSomething(); // cool
 foo.doAnother(); // 1 ! 2 ! 3


Я понимаю суть, что мы прячем переменные и методы внутри модуля (класса?) и потом можем использовать его где-нибудь еще много-много раз. Но, можете ли просто пример привести, в каком контексте это могло бы пригодится?
  • Вопрос задан
  • 423 просмотра
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Уже ни для чего. Когда не было CommonJS и уж тем более ES2015, это использовалось, чтобы не засорять глобальную область видимости. Сейчас в такой имитации надобности нет, используют CommonJS модули на nodejs (или ES2015 c babel) или browserify/babel/webpack/systemjs на фронтенде.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@fetis26
Ну, за фронтенд!
Ну как для чего. Классическое ООП. Публичные члены класса доступны всем, приватные только самому классу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы