Какова цель использования операции OR для переменной с пустым массивом?
Я нашел эту реализацию на скрипте Google Analytics на одной из моих страниц проекта.
Мне было интересно, какова цель первой строки: "myArray || [] ""?
Зачем использовать операцию ИЛИ для массива с другим пустым массивом?
var myArray = myArray || [];
myArray.push(['_setAccount', 'UA-39103830-1']);
myArray.push(['_trackPageview']);
2 ответа
Решение
Эта операция "или" назначает пустой массив myArray
если его не существует Код выше функционально эквивалентен:
if(myArray == null || myArray==undefined)
myArray = [];
myArray.push(['_setAccount', 'UA-39103830-1']);
myArray.push(['_trackPageview']);
Если вы наблюдаете приведенный ниже фрагмент, он проверяет undefined
или же null
и если да, он станет массивом (пустым). иначе это будет так же, как предыдущий.
var arr; // arr = 'undefined;
var arr = arr || [];
console.log(arr) // Output: []
var arr = null; // arr = 'undefined;
var arr = arr || [];
console.log(arr) // Output: []
var arr = ""; // arr = 'undefined;
var arr = arr || [];
console.log(arr) // Output: []
var arr = "Mr.7"; // arr = 'undefined;
var arr = arr || [];
console.log(arr) // Output: Mr.7