--- title: for each...in slug: Web/JavaScript/Reference/Instructions/for_each...in tags: - Déprécié - E4X - Instruction - JavaScript - Reference translation_of: Archive/Web/JavaScript/for_each...in ---
L'instruction for each...in est dépréciée car elle appartient au standard ECMA-357 (E4X). E4X sera désactivé par défaut puis retiré à l'avenir. Il faut désormais utiliser l'instruction {{jsxref("Instructions/for...of","for...of")}}. (Voir {{ bug("791343")}}.)
Firefox lance désormais des avertissements lorsque des boucles for each...in
et cette instruction a été retirée du canal Nightly.
Veuillez consulter l'article sur cet avertissement pour des indications quant aux solutions de migration.
L'instruction for each...in
itère une variable donnée sur toutes les propriétés d'un objet. Pour chaque propriété distincte, une instruction spécifique est exécutée.
for each (variable in objet) { instruction }
variable
objet
instruction
{ ... }
) pour regrouper les instructions.L'itération ne s'effectue que sur les propriétés spécifiques, définies par l'utilisateur. Elle ne s'effectuera pas sur les propriétés implicites déjà intégrées comme les méthodes objet telles que la méthode indexOf
des chaînes de caractères.
for each...in
Attention : Ne jamais utiliser cette boucle sur un tableau. Ne l'utiliser que pour les objets. (Voir des détails sur la page de l'instruction {{jsxref("Instructions/for...in")}}).
Le fragment de code parcourt les propriétés d'un objet et en calcule leur somme.
var somme = 0; var obj = {prop1: 5, prop2: 13, prop3: 8}; for each (var item in obj) { somme += item; } console.log(somme); // affiche "26", ce qui correspond à 5+13+8
Cette instruction ne fait partie d'aucune spécification ECMA-262. Elle a été implémentée avec JavaScript 1.6 et est dépréciée.
{{Compat("javascript.statements.for_each_in")}}
for each...in
. Cette instruction ne s'utilise que pour les types itérables.