나는 for... in
루프 (키를 반복 하는 것)가 무엇인지 알고 있지만 for... of
(값을 반복하는) 것에 대해 처음 들었습니다 .
for... of
루프 와 혼동됩니다 . 형용사를받지 못했습니다. 이것은 아래 코드입니다.
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"
}
내가 얻은 것은 for... of
속성 값을 반복합니다. 그렇다면 왜 "3", "5", "7", "hello"
대신에 로그하지 않는가 "3", "5", "7"
? 하지만 for... in
루프는 각 키를 반복 처리 ( "0", "1", "2", "foo"
). 여기서 for... in
루프는 foo
키를 반복 합니다. 그러나 재산 for... of
의 가치를 반복하지는 않는다 . 왜 그런가요?foo
"hello"
간단히 말하면 긴 이야기 :
여기 나는 콘솔 for... of
루프. 로그해야 "3", "5", "7","hello"
하지만 여기에 로그 "3", "5", "7"
됩니다. 왜 ?
for ... of
사용 for ... in
과 관련된 문제를 해결하기 위해 언어로 가져 왔습니다 . Array.prototype
추가 속성을 사용할 수있는 방식으로 수정 될 수 있으므로 예상하지 않은 숫자가 아닌 키를 얻을 수 있으므로 반복적으로 안전하지 않습니다.
of
키워드 (for… of loops) 의 복제본이 아닐 것입니다 .
for <key> in
"와 " for <value> of
"에 for..of