Maison > interface Web > js tutoriel > Quelle est la différence entre les boucles JavaScript « for...in » et « for...of » ?

Quelle est la différence entre les boucles JavaScript « for...in » et « for...of » ?

Linda Hamilton
Libérer: 2024-12-19 20:48:15
original
579 Les gens l'ont consulté

What's the Difference Between JavaScript's `for...in` and `for...of` Loops?

Comprendre la différence entre (pour... dans) et (pour... de) les déclarations

Introduction

Javascript propose deux instructions de boucle, (for... in) et (for... of), qui servent des objectifs distincts lors de l'itération sur des objets et des données. structures.

for... of : Itération sur les valeurs de propriété

L'instruction (for... of), introduite dans ES6, fournit un moyen pratique d'itérer sur les valeurs des propriétés d'un objet. Contrairement à (for... in), qui boucle sur les noms de propriétés, (for... of) se concentre spécifiquement sur les valeurs des propriétés.

Cette distinction devient claire dans l'exemple fourni :

var arr = [3, 5, 7];
arr.foo = "hello";

for (var i in arr) {
  console.log(i); // logs "0", "1", "2", "foo"
}

for (var i of arr) {
  console.log(i); // logs "3", "5", "7"
}
Copier après la connexion

While (for... in) enregistre les deux indices numériques ("0", "1", "2") et la propriété personnalisée "foo" (les itérateurs ES6 excluent généralement les clés), (for... of) uniquement enregistre les valeurs numériques des propriétés ("3", "5", "7"). La raison en est que (for... of) utilise un itérateur spécifique à un objet qui se concentre sur les valeurs des propriétés.

En résumé, (for... of) offre une manière concise et centrée sur la valeur de parcourir les propriétés d’un objet. Il ignore les propriétés non indexées, telles que la propriété "foo" dans l'exemple, et fournit directement les valeurs de propriété sous forme d'itérations de boucle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal