我知道||
意味着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] || [];
由于
答案 0 :(得分:3)
如果nodes[parent]
为空或为空,则为子变量分配一个空数组(不是为空)。