Javascript:如何理解这个奇怪的任务?

Javascript:如何理解这个奇怪的任务?,javascript,Javascript,我在一个网站上找到了这个表达 var _g = _g || []; 这是什么意思?它只是防止_g值为null或未定义,如果右侧的_g为null或未定义,则将_g分配给空数组 就像: if(!_g) { _g = []; } 将_g设置为_g,但如果_g未定义,则将其设置为空数组 哦,现在我明白了。谢谢。不仅仅是null或undefined,还有其他像0,NaN,空字符串。请参见“是”,确定,但在本例中,所需的值是一个数组,因此0或NaN的可能性很小,但实际上是right@MathieuB

我在一个网站上找到了这个表达

var _g = _g || [];

这是什么意思?

它只是防止_g值为null或未定义,如果右侧的_g为null或未定义,则将_g分配给空数组

就像:

if(!_g) {
  _g = [];
}

将_g设置为_g,但如果_g未定义,则将其设置为空数组

哦,现在我明白了。谢谢。不仅仅是
null
undefined
,还有其他像
0
NaN
,空字符串。请参见“是”,确定,但在本例中,所需的值是一个数组,因此0或NaN的可能性很小,但实际上是right@MathieuBertin那么,如果期望值是数组,为什么要使用此保护?因为数组不能设置得如此未定义。。。如果_g等于NaN或0 _g将被分配给一个空数组,你说得对,但我认为开发人员希望防止出现未定义或空的情况,这就是为什么我没有提到它。说真的,这个问题上周至少出现了4次。