J'ai rencontré beaucoup de bugs dans mon code parce que je m'attendais à ce que cette expression :
Boolean([]);
évalue à faux.
Mais ce n'était pas le cas car elle a évalué à vrai.
Par conséquent, les fonctions qui retournaient éventuellement []
comme ceci :
// Où myCollection retourne éventuellement [ obj1, obj2, obj3] ou []
if(myCollection)
{
// ...
}else
{
// ...
}
n'ont pas fait ce à quoi je m'attendais.
Suis-je dans l'erreur en supposant que []
est un tableau vide ?
Aussi, ce comportement est-il cohérent dans tous les navigateurs ? Ou y a-t-il aussi des pièges ? J'ai observé ce comportement dans Google Chrome d'ailleurs.