@Programep

Как работать с namespace в javascript?

Не совсем понимаю как использовать пространства имен в javascript.
Подскажите для чего нужна выделенная строка или вообще не нужна в данном коде?
var app = app || {}; // эта строка
function app(){}
app.prototype={
init: function (param){
},
connect: function(){
}
}
  • Вопрос задан
  • 2814 просмотров
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Подскажите для чего нужна выделенная строка или вообще не нужна в данном коде?
Поскольку в js нет нативных неймспейсов, используется именно такой способ их "эмуляции". Но учитывая, что потом объявляется одноименная функция, внутри которой ещё и прототип переопределяется, приведённый код - полная хрень.

Предполагается, что будет что-то вроде этого:
var app = app || {};

app.myModule = (function () {
  connect: function(){}
})()


Но такой подход, на самом деле, уже устарел, ведь в ES6 появились нативные модули. А в качестве пространств имён выступают директории.
Ответ написан
Ваш ответ на вопрос

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

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