So cos'è for... inloop (iterates over key), ma ne ho sentito parlare per la prima volta for... of(iterates over value).
Sono confuso con il for... ofciclo. Non ho ricevuto l'aggettivo. Questo è il codice qui sotto:
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"
}
Quello che ho è, for... ofscorre sui valori delle proprietà. Allora perché non registra (return) "3", "5", "7", "hello"invece di "3", "5", "7"? mafor... in ciclo scorre su ogni tasto ( "0", "1", "2", "foo"). Qui il for... inciclo scorre anche sulla foochiave. Ma for... ofnon scorre sul valore della fooproprietà, ad es "hello". Perché è così?
Per farla breve:
Qui consolo for... ofloop. Dovrebbe registrare "3", "5", "7","hello"ma qui registra "3", "5", "7". Perché ?
for ... ofstato introdotto nella lingua per risolvere i problemi relativi all'uso for ... incon gli array. Array.prototypepotrebbe essere modificato in modo tale che siano disponibili proprietà extra, rendendo non sicuro iterarli poiché potresti ottenere chiavi non numeriche che non ti aspettavi.
of(per ... dei loop) , poiché richiede un comportamento specifico della funzione, piuttosto che una panoramica generale.
for <key> in" e " for <value> of" e rendersi conto che IE non supportafor..of
