参见英文答案 >
What does “options = options || {}” mean in Javascript? 5个
我学习javascript和今天我发现这个代码:
我学习javascript和今天我发现这个代码:
window.Picture2 = window.Picture2 || {};
我不明白|| {};
有人可以为我解释一下吗太好了:)
解决方法
这是将默认值分配给全局变量Picture2的一种危险方式.
window.Picture2 = window.Picture2 || {};
这将初始化window.Picture2作为一个新的Object {}如果没有定义.然而,由于这是一个真实的检查,如果它具有这些falsy values中的任何一个,则Picture2也将被分配一个空对象:
// these are all falsy 0,NaN,null,'',undefined,false
这可能不是所有这些情况的期望行为,特别是对于0,假或“价值”.
有一个提案ecmascript 6添加一个default operator,真正检查未定义,没有别的:
window.Picture2 ??= {};