什么' || {}'在javascript一起意味着什么?

时间:2016-01-14 10:44:30

标签: javascript

我遇到了一些语法,这对我来说并不清楚,就像这样:

anotherVariable = anotherVariable || {};
var variable = anotherVariable.member = anotherVariable.member || {};

上面的代码是什么意思?

4 个答案:

答案 0 :(得分:1)

这是默认值设定器。

anotherVariable = anotherVariable || {};

如果anotherVariablefalsy,那么它会在{}中设置anotherVariable

''null0undefinedNaN在javascript中考虑falsy

也是如此
var variable = anotherVariable.member = anotherVariable.member || {};

如果anotherVariable.memberfalsy,则{}将设置为anotherVariable.member,然后anotherVariable.member将设置variable

答案 1 :(得分:1)

这是几件事的组合

  1. js中的任何非空对象在所有比较中都是true
  2. {}是空对象的定义
  3. 所以这意味着:

    if (anotherVariable != null) { anotherVariable = {}; }

答案 2 :(得分:0)

如果未定义

,则anotherVariable变为空哈希/ opbject {}

答案 3 :(得分:0)

这很简单:

var a = b || {};

将变量“a”设置为“b”。如果b为null或未定义,请将“a”设置为{}

var variable = anotherVariable.member = anotherVariable.member || {};

如果anotherVariable.member为null或未定义,则将{}设置为variable。 然后将anotherVariable.member设置为{{1}}