반복문이란?
- 반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문이다.
- 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로 가장 많이 사용되는 실행문 중 하나이다.
1. for
for(let i = 0; i < 10; i++){
console.log(i); // 0~9
}
- while문과는 달리 초기식, 표현식, 증감식을 모두 포함하고 있으므로 좀 더 간결하게 표현할 수 있다.
- 반복 횟수가 정해져 있으므로 구하고자 하는 값이 정확할 경우 사용하며 주로 배열과 함께 사용된다.
2. while
let num = 0;
while(num<10) {
console.log(num); // 0~9
num++;
}
- 구하고자 하는 값을 정확히 모르거나 특정 조건을 만족해야 하는 경우 사용된다.
- 루프에 진입하기 전 조건식을 검사하고 조건식이 true일 경우
반복, false가 되는 순간 빠져나온다.
3. do-while
let i = 0;
do {
console.log(i); // 0~9
i++;
} while(i < 10);
- 기본적으로 while문과 동일하나 조건식의 결과와 상관없이 무조건 한 번은 루프를 실행 후 조건식을 검사한다.
4. for in
const obj = { a: 1, b: 2, c: 3 };
for (let i in obj) {
console.log(i, obj[i]); // a 1 b 2 c 3
}
- 일반적인 for문과는 전혀 다른 형태의 반복문이며 객체의 모든 속성을 순회할 수 있다.
5. for of
let arr = ['a', 'b', 'c', 'd', 'e'];
for(let el of arr) {
console.log(el); // a b c d e
}
- 반복할 수 있는 객체(배열, 문자열, Map, Set 등)를 순회할 수 있다.
6. forEach
let arr = ['a', 'b', 'c'];
arr.forEach(function(item, index, arr2) {
console.log(item); // a b c
console.log(index); // 0 1 2
console.log(arr2); // ['a', 'b', 'c']
});
// Arrow Function
let arr = ['a', 'b', 'c'];
arr.forEach((item) => {
console.log(item); // a b c
});
- 배열의 모든 요소를 순회하며 콜백 함수를 실행한다.
- 단점으로는 반복문 내에서 배열이나 리스트 값을 변경하거나 추가할 수 없고 배을 역순으로 순회할 수 없다