什么是“||” javascript中的意思(除了OR)?

时间:2015-01-20 18:01:30

标签: javascript

我知道||意味着OR这很容易。但最近我看到了这段代码:

var myArray = [['activity', 'none'] , 
               ['movies', 'activity'],
               ['theater','activity'],
               ['drama', 'movies'],
               ['comedy', 'movies'],    
               ['puppet', 'theater'], 
               ];

var nodes = {};
for (var i in myArray) {
    var child = myArray[i][0];
    var parent = myArray[i][1];
    var children = nodes[parent] || []; // what is this ? 
    children.push(child);
    nodes[parent] = children;
}

alert(nodes);

我很困惑。 children看起来像是一个数组,因为它有一个.push方法。但是var children = nodes[parent] || [];指向:children是布尔值。 。

另外,如何比较对象和空数组? var children = nodes[parent] || [];

由于

1 个答案:

答案 0 :(得分:3)

如果nodes[parent]为空或为空,则为子变量分配一个空数组(不是为空)。