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
?
myCollection
zufällig null
oder undefined
. Sie müssen verwenden if(myCollection && myCollection.length > 0)
.
myCollection.length > 0
einen booleschen Wert bietet, der das tut, was das OP verlangt ... er muss die Arbeit von dort aus noch erledigen.