for... in
Döngünün ne olduğunu biliyorum (anahtar üzerinden yinelenir), ancak ilk kez duydumfor... of
(değer üzerinde yineleme) .
for... of
Dö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... in
döngü her tuşun ( "0", "1", "2", "foo"
) üzerinde yinelenir . Burada for... in
döngü de foo
anahtar üzerinden yinelenir . Ancak mülkün for... of
değeri üzerinden yineleme yapmaz . Neden böyle?foo
"hello"
Kısaca uzun hikaye:
Burada for... of
döngü konsol . Giriş yapmalı "3", "5", "7","hello"
ama burada günlük tutuyor "3", "5", "7"
. Neden ?
for ... of
sorunları çözmek için dile getirildi for ... in
. Array.prototype
ekstra özellikler mevcut olacak şekilde değiştirilebilir, böylece beklemediğiniz sayısal olmayan anahtarlar alabileceğiniz için bunları yinelemek güvenli olmaz.
of
Anahtar Kelimesinin bir kopyası değildir (döngülerin… için) .
for <key> in
" Ve " for <value> of
" for..of