property name
property value
Iterable object이면 모두 반복할 수 있는 대상.
Iterable object이지만, prototype chain에 의한 Iterable은 반복 대상에서 제외.
arr 배열의 각 원소를 임시 변수로 담을 value에는 몇 번 째 반복되고 있는지 index가 담겨있음.
반면 for of에서 value에는 실제 원소의 값만 순서대로.
예시
let array = [3,4,5];
array.foo ="bye";
let object = {fname:"kim",lname:"minu",arms:2};
for (let i in array){
console.log(i) // 0 1 2 foo
}
for (let i of array){
console.log(i) // 3 4 5
}
for (let i in object){
console.log(i) // fname lname arms
}
for (let i of object){
console.log(i) // error
}