Какова цель использования операции 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

Другие вопросы по тегам