| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Errors/Invalid_for-in_initializer | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
SyntaxError: for-in loop head declarations cannot have an initializer (Edge) SyntaxError: for-in loop head declarations may not have initializers (Firefox) SyntaxError: for-in loop variable declaration may not have an initializer. (Chrome)
SyntaxError, uniquement en mode strict.
L'en-tte d'une boucle for...in contient une expression d'initialisation, c'est--dire qu'une variable est dclare et qu'on lui affecte une valeur. Ceci n'est pas autoris en mode strict (et ignor en mode non-strict).
Cet exemple dclenchera une exception SyntaxError :
const obj = { a: 1, b: 2, c: 3 };
for (const i = 0 in obj) {
console.log(obj[i]);
}
// SyntaxError: for-in loop head declarations may not have initializers
On peut retirer l'initialisateur de l'en-tte de la boucle :
"use strict";
var obj = { a: 1, b: 2, c: 3 };
for (var i in obj) {
console.log(obj[i]);
}
Il ne faut pas utiliser de boucle for...in pour parcourir un tableau (Array). Peut-tre souhaitiez-vous utiliser une boucle for pour parcourir le tableau ? Cette boucle for permet galement d'utiliser un initialisateur :
var arr = ["a", "b", "c"];
for (var i = 2; i < arr.length; i++) {
console.log(arr[i]);
}
// "c"
for...infor...of interdit galement d'utiliser un initialisateur en mode strict et non-strictfor permet de dfinir un initialisateur lors de l'itration et doit tre privilgi pour parcourir un tableauCette page a t modifie le 7 sept. 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |