Что это значит в JavaScript: var controller = controller || {}; [Дубликат]

1

Что означает этот код JavaScript? Что это оценивает и что делают круглые скобки?

 /**
 * View Controller
 * @type {Object}
 */

var controller = controller || {};
  • 2
    Скобки {} являются литералом пустого объекта. Трубы || значит "или". Если controller существует, это var controller = controller; , если нет, это var controller = {}; ,
  • 0
    Кстати, этот тип имеет смысл только на верхнем уровне - когда вы не знаете, объявлен ли controller в текущей области видимости. Обычно эквивалентно if (!window.controller) { window.controller = {}; } в браузерах, например.
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

Чтобы избежать путаницы, я буду использовать разные имена переменных:

var controller = cont || {};

Это выражение проверяет значение cont и если оно не undefined, оно назначит {} или пустой объект для controller. Если cont имеет значение, controller будет присвоено это значение.

  • 0
    Спасибо. Теперь я понимаю намного лучше
1
var controller = controller || {};

Таким образом, это просто означает, что если controller is undefined как значение по умолчанию {}, он будет инициализирован этой конкретной переменной.

здесь || это просто OR operator который вы могли бы использовать в условных операторах.

  • 0
    теперь я понял, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню