원하는 횟수만큼 코드를 반복 실행하게 하는 키워드
기본 구조
for (초기값; 조건식; 증감식) {
}
초기값은 반복문이 실행될 때 최초로 설정되는 값
조건식은 반복을 계속 진행할지 결정되는 조건에 대한 식이다.
true이면 반복문이 실행되고, false이면 반복문이 종료된다.
증감식은 반복할 때마다 초기값이 어떻게 변화할지 지정한다.
증가 (i++) 감소 (i--)연산을 주로 사용
예문
for (let i = 1; i <= 5; i++) {
console.log(i);
}
반복문이 사용된 '숫자를 모두 더해야 할 때'
let num = 0;
for(let i = 1; i<=100; i++){
num += i
}
console.log(num)
1부터 100까지의 숫자 덧셈을 받아줄 num을 설정한 뒤 1부터 100까지의 증감 조건을 입력한다.
그 뒤 합산이 콘솔로 통해 출력된다.
주의 사항
특정 값
반복 횟수를 알 수 없고, 조건이 만족될 때까지 반복해야 하는 상황에서 유용하다.
기본구조
while (조건식){
// 조건식이 참인 동안 반복 실행할 코드
}
조건이 false가 되면 반복문 종료
반드시 증감문이 들어가야한다. 그렇지 아니했을 경우 무한루프가 발생한다.
| 항목 | for문 | while문 |
|---|---|---|
| 반복 조건 | 반복 횟수가 명확한 경우에 사용 | 반복 횟수가 불명확하거나 조건에 따라 달라질 때 사용 |
| 초기값 / 조건 / 증감 | 한 줄에 함께 작성 → 명확하고 규칙적인 반복에 유리 | 조건만 명시, 초기값과 증감은 루프 안에서 따로 처리 |
| 사용 예시 | - 배열, 문자열 순회 - 숫자 반복 - 정해진 범위 반복 | - 특정 조건을 만족할 때까지 반복 - 사용자 입력 대기 등 |
| 가독성 | 짧고 구조가 명확함 | 조건에 따라 유동적으로 처리 가능 |
| 대표 예제 | for (let i = 0; i < 5; i++) { ... } | while (조건) { ... } |
| 루프 제어 | break, continue 사용 가능 | break, continue 사용 가능 |
반복문 안에 또 다른 반복문을 사용해야 하는 경우에 다중 반복문을 사용해 복잡한 패턴이라 2차원 이상의 데이터를 효율적으로 처리할 수 있다.
for (let i = 0; i < 3; i++) { // 바깥쪽 반복문
for (let j = 0; j < 3; j++) { // 안쪽 반복문
console.log(${i},${j}: *);
}
}
i가 0일때 j가 2가 될때까지 실행 후 다시 0으로 초기화 된 후 바깥쪽 반복문 1증가.
i가 2일때 j가 2가 될때까지 실행 후 다시 0으로 초기화 된다. 그 후 반복할 i가 없으므로 코드 종료.