| [ 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 17 dc. 2024 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 |