
반복문은 특정 코드 블록을 반복적으로 실행하고 싶을 때 사용하는 제어문입니다. 반복 조건 또는 반복 가능한 자료형(배열 등)을 사용하여 반복 횟수를 제어합니다.
for 반복문: 반복 횟수가 명확할 때 주로 사용됩니다.while 반복문: 특정 조건이 참인 동안 계속 반복하고 싶을 때 주로 사용됩니다.do...while 반복문: while문과 유사하지만, 코드 블록을 최소 한 번은 실행해야 할 때 사용됩니다.for 반복문for 반복문은 초기화, 조건식, 증감식 세 부분으로 구성되어, 반복 횟수가 명확하게 정해진 경우에 매우 유용합니다.
for (초기화; 조건식; 증감식) {
// 반복 실행할 코드
}
true이면 코드 블록을 실행하고, false이면 반복문을 종료합니다.for (let i = 0; i < 5; i++) {
console.log(`현재 숫자: ${i}`);
}
/*
출력:
현재 숫자: 0
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
*/
증감식이 조건식을 false로 만들지 못하면 무한 반복에 빠질 수 있습니다.
// i-- 때문에 i는 계속 작아져서 i < 5 조건은 항상 참이 됩니다.
for (let i = 0; i < 5; i--) {
console.log(`현재 숫자: ${i}`); // 0, -1, -2, ...
// (무한 반복되므로 실행에 주의)
}
반복문 내부에 또 다른 반복문을 포함하는 구조입니다. 주로 2차원 데이터를 다루거나 복잡한 반복 패턴을 만들 때 사용됩니다.
for (let i = 2; i <= 9; i++) {
console.log(`--- ${i}단 ---`);
for (let j = 1; j <= 9; j++) {
console.log(`${i} * ${j} = ${i * j}`);
}
}
while 반복문while 반복문은 주어진 조건식이 true인 동안 코드 블록을 계속해서 실행합니다. 반복 횟수가 불명확하고 특정 조건에 따라 반복을 멈춰야 할 때 유용합니다.
주의: 조건식이 언젠가
false가 되도록 설계하지 않으면 무한 반복에 빠질 위험이 있습니다.
while (조건식) {
// 반복 실행할 코드
// (조건식을 false로 만들 수 있는 로직이 반드시 포함되어야 함)
}
let count = 0;
while (count < 5) {
console.log(`카운트: ${count}`);
count++; // count 값을 증가시켜 언젠가 count < 5 조건이 false가 되게 함
}
/*
출력:
카운트: 0
카운트: 1
카운트: 2
카운트: 3
카운트: 4
*/
do...while 반복문do...while 반복문은 while문과 매우 유사하지만, 조건식을 평가하기 전에 코드 블록을 최소 한 번은 반드시 실행한다는 차이점이 있습니다.
do {
// 반복 실행할 코드 (최소 한 번은 실행됨)
} while (조건식);
let count = 5;
do {
console.log(`카운트: ${count}`); // count가 5임에도 불구하고 일단 한 번 실행됨
count++;
} while (count < 5); // 조건식은 false이므로 반복을 종료함
// 출력: 카운트: 5
breakbreak 문은 현재 실행 중인 반복문(for, while, do...while 모두)을 즉시 종료하고, 반복문 다음 코드로 실행 흐름을 넘깁니다.
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // i가 5가 되면 반복문을 완전히 중단합니다.
}
console.log(`i의 값: ${i}`);
}
// 출력: i의 값: 0, 1, 2, 3, 4
continuecontinue 문은 현재 진행 중인 반복을 중단하고, 즉시 다음 반복으로 넘어갑니다. 코드 블록의 나머지 부분은 실행되지 않습니다.
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue; // i가 2일 때는 console.log를 건너뛰고 다음 반복(i=3)으로 넘어갑니다.
}
console.log(`i의 값: ${i}`);
}
// 출력: i의 값: 0, 1, 3, 4