Je sais ce qu'est la for... inboucle (itère sur la clé), mais entend la première fois for... of(itère sur la valeur).
Je suis confondu avec la for... ofboucle. Je n'ai pas été adjecté. Voici le code ci-dessous:
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"
// it is does not log "3", "5", "7", "hello"
}
Ce que j'ai obtenu est, for... ofitère sur les valeurs des propriétés. Alors pourquoi il ne se connecte pas (retour) "3", "5", "7", "hello"au lieu de "3", "5", "7"? mais la for... inboucle itère sur chaque touche ( "0", "1", "2", "foo"). Ici, la for... inboucle parcourt également la fooclé. Mais for... ofn'itère pas sur la valeur de la foopropriété ie "hello". Pourquoi c'est comme ça?
Longue histoire en bref:
Ici, je for... ofboucle la console . Il devrait se connecter, "3", "5", "7","hello"mais ici, il se connecte "3", "5", "7". Pourquoi ?
for ... ofété introduit dans le langage pour résoudre les problèmes d'utilisation for ... indes tableaux. Array.prototypepourrait être modifié de telle sorte que des propriétés supplémentaires soient disponibles, ce qui rendrait leur itération dangereuse car vous pourriez obtenir des clés non numériques que vous ne vous attendiez pas.
of(pour… des boucles) , car il pose des questions sur un comportement spécifique de la fonctionnalité, plutôt que de demander un aperçu général.
for <key> in" et " for <value> of" et réalisez for..of
