반복 가능한 객체(Array, Map, Set, String, ..)에 대해서 순환한다.(Object를 제외한 나머지는 for of 루프를 사용한다고 인지하면 될듯)
일관된 순서로 순환을 한다.
let arr = ['one', 'two', 'three', 'four'];
let obj = {
0: 'a',
1: 'b',
3: 'c'
};
for(let i of arr){
console.log(i); // 'one', 'two', 'three', 'four'
}
for(let a of obj){
console.log(a); // Uncaught TypeError: obj is not iterable
}
대체적으로 객체(Object)에서 사용하지만 배열에서도 사용은 가능하고, key(index)를 반환한다.
일관된 순서로 key를 반환하지 않기 때문에, 순서대로 접근하려고 할때는 사용하지 않는다.
let arr = ['one', 'two', 'three', 'four'];
let obj = {
0: 'a',
1: 'b',
3: 'c'
};
for(let i in obj){
console.log(i); // '0', '1', '3'
console.log(obj[i]); // 'a', 'b', 'c'
}
for(let i in arr){
console.log(i); // '0', '1', '2', '3'
}
세미콜론으로 구분한 세 개의 선택식과 반복을 수행할 문 으로 이루어진 반복문
let str = '';
for( i = 0; i < 9; i++){
str = str + i;
}
console.log(str); // 012345678
주어진 함수를 배열 요소에 각각 실행한다.
const arr = ['a', 'b', 'c'];
arr.forEach(element => {
console.log(element);
// 'a'
// 'b'
// 'c'
})