for in 반복문은 객체의 속성들을 반복하여 작업을 수행할 수 있다
반드시 true로 셋팅되어야 속성들만 반복할 수 있으며
해당 객체의 모든 열거할 수 있는 프로퍼티를 순회할 수 있도록 해준다
let obj = {
a: 1,
b: 'hello',
c: 3
}
for (let prop in obj) {
console.log(prop)
}
// 결과값은 a, b, c 로 key만 출력
for of 반복문은 반복할 수 있는 객체(iterable objects)를 순회할 수 있도록 해주는 반복문이다
반복할 수 있는 객체에는 Array, Map, Set, arguments 객체 등이 있다
루프마다 객체의 열거할 수 있는 프로퍼티의 값을 지정된 변수에 대입한다
let arr = [1, 'test', 3];
for (let i of arr) {
console.log(i);
}
// 결과값은 1, test, 3 으로 배열 출력
for in 반복문은 객체의 모든 열거 가능한 속성을 반복하고
for of 반복문은 모든 객체가아닌 컬렉션만 반복하게 된다
(즉, [symbol.iterator] 속성이 있는 컬렉션의 프로퍼티만 반복)