for... inDöngünün ne olduğunu biliyorum (anahtar üzerinden yinelenir), ancak ilk kez duydumfor... of (değer üzerinde yineleme) .
for... ofDöngü ile kafam karıştı . Ben itiraz etmedim. Bu aşağıdaki kod:
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"
}
Ne var, for... ofözellik değerleri üzerinden yineliyor. Öyleyse neden (getiri) kütüğe "3", "5", "7", "hello"yerine "3", "5", "7"? ancak for... indöngü her tuşun ( "0", "1", "2", "foo") üzerinde yinelenir . Burada for... indöngü de fooanahtar üzerinden yinelenir . Ancak mülkün for... ofdeğeri üzerinden yineleme yapmaz . Neden böyle?foo"hello"
Kısaca uzun hikaye:
Burada for... ofdöngü konsol . Giriş yapmalı "3", "5", "7","hello"ama burada günlük tutuyor "3", "5", "7". Neden ?
for ... ofsorunları çözmek için dile getirildi for ... in. Array.prototypeekstra özellikler mevcut olacak şekilde değiştirilebilir, böylece beklemediğiniz sayısal olmayan anahtarlar alabileceğiniz için bunları yinelemek güvenli olmaz.
ofAnahtar Kelimesinin bir kopyası değildir (döngülerin… için) .
for <key> in" Ve " for <value> of" for..of
