Cycymomo
1/17/2014 - 4:25 PM

document.all.falsy.md

document.all.falsy.md

L'exception qui confirme la règle

En JavaScript, comme spécifié par ECMAScript 5, tous les objets (non primitifs) sont évalués à true (on dit en anglais qu'ils sont truthy). Certains sont évalués à false (ils sont dits falsy) :

  • falsy : undefined, null, false, +0, -0, NaN, ''
  • truthy : tous les autres

Tous ? En JavaScript oui. Mais lorsqu'on se trouve côté client (donc avec l'objet window en plus), il y a un intru dans le DOM qui résiste à la norme. Il s'agit de document.all.

Pourquoi ? Pour ne pas casser certains sites archaïque qui utilisaient cette propriété dépréciée afin de différencier Netscape de IE5.

Sources :

http://stackoverflow.com/questions/10350142/why-is-document-all-falsy/10394873#10394873 http://lists.w3.org/Archives/Public/public-script-coord/2009OctDec/0059.html https://bugzilla.mozilla.org/show_bug.cgi?id=248549