Ich habe viele Fehler in meinem Code festgestellt, weil ich diesen Ausdruck erwartet habe:
Boolean([]); zu falsch bewerten.
Dies war jedoch nicht der Fall, da es als wahr bewertet wurde.
Daher Funktionen, die möglicherweise []wie folgt zurückgegeben wurden:
// Where myCollection possibly returned [ obj1, obj2, obj3] or []
if(myCollection)
{
// ...
}else
{
// ...
}
erwartete Dinge nicht.
Bin ich falsch in der Annahme, dass []ein leeres Array?
Ist dieses Verhalten auch in allen Browsern konsistent? Oder gibt es dort auch Fallstricke? Ich habe dieses Verhalten übrigens in Goolgle Chrome beobachtet.
myCollection.length > 0?
myCollectionzufällig nulloder undefined. Sie müssen verwenden if(myCollection && myCollection.length > 0).
myCollection.length > 0einen booleschen Wert bietet, der das tut, was das OP verlangt ... er muss die Arbeit von dort aus noch erledigen.