为什么要使用这种语法?
var myVar = myArray.length && myArray || myObject;
替代
var myVar = myArray.length ? myArray : myObject;
编辑:我突然想到,如果在&& ||
语法中,||
两侧的内容都是false,就像当myObject
是undefined
或null
时一样,返回的应该是false。但事实并非如此,会返回对象的值undefined或null
。
true || true //true
true || false //true
false || true //true
false || false //false
编辑2:
!!(myArray.length ? myArray : myObject);
然而,如果myObject
是undefined
或null
,这将返回false。
var myArray = [];
无法通过此测试... - anthony sottile&&
和||
,还没有接触到? :
。 - pimvdb