Javascript 使用或操作空数组变量的目的是什么?

Javascript 使用或操作空数组变量的目的是什么?,javascript,arrays,boolean-operations,Javascript,Arrays,Boolean Operations,我在我的一个项目页面中发现了谷歌分析脚本的实现 我想知道第一行的用途是什么:myArray | |[] 为什么要在另一个空数组上使用或操作 var myArray=myArray | |[]; myArray.push[''u setAccount',UA-39103830-1']; myArray.push[''u trackPageview'] 如果您观察下面的代码段,它会检查伪值,例如未定义的null、0、-0、0n和NaN,但也会检查空数组[],如果是,它将分配正确的值 var ar

我在我的一个项目页面中发现了谷歌分析脚本的实现

我想知道第一行的用途是什么:myArray | |[]

为什么要在另一个空数组上使用或操作

var myArray=myArray | |[]; myArray.push[''u setAccount',UA-39103830-1'];
myArray.push[''u trackPageview'] 如果您观察下面的代码段,它会检查伪值,例如未定义的null、0、-0、0n和NaN,但也会检查空数组[],如果是,它将分配正确的值

var arr;//未定义 var arr=arr | |[]; console.logarr//输出:[] var arr=null;//无效的 var arr=arr | |[]; console.logarr//输出:[] var arr=;//空字符串 var arr=arr | |[]; console.logarr//输出:[] var arr=Mr.7;//一串 var arr=arr | |[];
console.logarr//Output:Mr.7如果myArray不存在,则此or操作将为其分配一个空数组。上述代码在功能上等同于:

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

或者在任何其他类型的对象上,不必是数组。为什么要使用另一个空数组或它呢?仅供参考,它实际上更像ifmyArray==null | | | myArray==undefined | | myArray==0//或任何其他错误值是的。我对答案做了一点修改。这个例子帮助我理解了要点,谢谢