我只是想增加我的核心JavaScript知识.
有时我看到这个陈述,但我不知道它的作用:
var var1 = var1 || [];
Run Code Online (Sandbox Code Playgroud)
它意味着什么和/或它是什么,以及如何使用它?
谢谢.
Sas*_*gov 11
基本上,它看起来是否var1已经存在变量并且是"真实的".如果是,则为局部var1变量赋值; 如果没有,它将被分配一个空数组.
这是有效的,因为JavaScript ||运算符返回第一个真值操作数的值,如果没有真值则返回最后一个真值.如果它是真实的或其他方式var1 || var2返回.var1var2
这里有些例子:
var somevar;
somevar = 5 || 2; // 5
somevar = 0 || 2; // 2
somevar = 0 || null; // null
Run Code Online (Sandbox Code Playgroud)
价值观是不是"truthy": , ,false,,0 (空字符串),和.与其他语言不同,空数组和对象在JavaScript中被认为是真实的.undefinednull""NaN
var1如果它的布尔表示为假(例如它尚未初始化),它会为其分配一个空数组.
基本上如果var1是NULL或false,var1将被设置为空array.
JavaScript 中的逻辑运算符实际上计算两个对象之一。当您使用a || b它时,它会评估bifa为 false,或aifa为 true。因此,a || []如果a是a任何值,则为真,或者[]如果a是任何值,则为假。
使用起来更加明显if (!a) { a = [] };