2 votes

collection item() vs tableau []

Je vous prie de m'excuser si cet article est un doublon - il n'est pas facile à rechercher.

Je suis tombé aujourd'hui sur DEUX questions utilisant someArrayOrCollection.item(i) au lieu de mon préféré someArrayOrCollection[i]

Exemple : analyser la valeur d'un attribut XML à l'aide de javascript

var sTitle1 = item.getElementsByTagName("title").item(0)....

où j'utiliserais

var sTitle1 = item.getElementsByTagName("title")[0]....

La dernière fois que j'ai vu ça, c'était quand seul IE supportait cette notation.

Mon premier réflexe lorsque je vois .item() est de le corriger en []. Dois-je le faire ou est-ce inoffensif ou peut-être même la meilleure pratique de nos jours ?

Il est intéressant de noter que presque toutes les collections de MDN mentionnent la article mais leurs exemples utilisent [] - par exemple https://developer.mozilla.org/en-US/docs/Web/API/NodeList

4voto

georg Points 52691

Pour NamedNodeMap s [] agit comme un sucre pour les deux .item y .getNamedItem ce qui permet de construire un exemple artificiel dans lequel l'indice sera différent de celui de l'indice de référence. .item :

<div id="x" 2e0="wtf" class="foo" ></div>

<script>
a = document.getElementById("x").attributes;
console.log(a["2e0"].nodeValue)         // wtf
console.log(a.item("2e0").nodeValue)    // foo
</script>

Inutile de dire que c'est purement théorique, dans la vraie vie [] est un choix sûr.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X