Два символа канала (OR) в этой строке Javascript
Возможный дубликат:
Что означает "options = options || {}" в Javascript?
Я видел это в JS:
item = item || {};
Я предполагаю, что это вариация тройного оператора, но что на самом деле делает?
Ответы
Ответ 1
(expr1 || expr2)
"Возвращает expr1, если он может быть преобразован в true, иначе возвращает expr2".
источник
Поэтому, когда expr1
является (или оценивает) одним из этих 0,"",false,null,undefined,NaN
, тогда expr2
возвращается, иначе expr1
возвращается
Ответ 2
Он называл избыточность, но в этом случае это хорошо. В принципе, если item
не определен (или иначе ложный (false
, 0
, ""
...), то мы даем ему значение по умолчанию.
Наиболее распространенный пример:
evt = evt || window.event;
Ответ 3
Если элемент существует, установите элемент в элемент или установите его на {}
Ответ 4
Он равен:
if( !item ){ item = {}; }