Почему вы использовали этот синтаксис?
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
Edit2:
!!(myArray.length ? myArray : myObject);
Однако это возвращает false, если myObject
имеет значение undefined
или null