对具有空数组的变量使用 OR 运算的目的是什么?

What is the purpose of using OR operation on a varible with empty array?

我在我的一个项目页面中的 google 分析脚本中发现了该实现。

我想知道第一行的目的是什么:"myArray || [] "" ?

为什么要对一个数组和另一个空数组进行OR运算?

  var myArray = myArray || [];
  myArray.push(['_setAccount', 'UA-39103830-1']);
  myArray.push(['_trackPageview']);

如果您观察下面的代码片段,它会检查虚假值,例如 undefined null0-00n""NaN (还有空数组 []) 如果是这样,它将分配权利。

var arr; // undefined
var arr = arr || [];
console.log(arr) // Output: []

var arr = null; // null
var arr = arr || [];
console.log(arr) // Output: []

var arr = ""; // empty string
var arr = arr || [];
console.log(arr) // Output: []

var arr = "Mr.7"; // string
var arr = arr || [];
console.log(arr) // Output: Mr.7

此 "or" 操作将一个空数组分配给 myArray(如果它不存在)。上面的代码在功能上等同于:

if(myArray == null || myArray==undefined)
    myArray = [];
myArray.push(['_setAccount', 'UA-39103830-1']);
myArray.push(['_trackPageview']);