@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


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

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

Войти через центр авторизации
Похожие вопросы