[JS] JavaScript 반복문

artp·2025년 9월 17일

javascript

목록 보기
19/50
post-thumbnail

JavaScript 반복문 (Loops)

반복문(Loop Statement)이란?

반복문은 특정 코드 블록을 반복적으로 실행하고 싶을 때 사용하는 제어문입니다. 반복 조건 또는 반복 가능한 자료형(배열 등)을 사용하여 반복 횟수를 제어합니다.

반복문의 종류

  • for 반복문: 반복 횟수가 명확할 때 주로 사용됩니다.
  • while 반복문: 특정 조건이 참인 동안 계속 반복하고 싶을 때 주로 사용됩니다.
  • do...while 반복문: while문과 유사하지만, 코드 블록을 최소 한 번은 실행해야 할 때 사용됩니다.

1. for 반복문

for 반복문은 초기화, 조건식, 증감식 세 부분으로 구성되어, 반복 횟수가 명확하게 정해진 경우에 매우 유용합니다.

기본 구조

for (초기화; 조건식; 증감식) {
  // 반복 실행할 코드
}
  1. 초기화: 반복문이 시작되기 전 단 한 번 실행됩니다. 주로 반복문에서 사용할 변수(카운터)를 선언하고 초기화합니다.
  2. 조건식: 매 반복이 시작되기 전에 평가됩니다. 평가 결과가 true이면 코드 블록을 실행하고, false이면 반복문을 종료합니다.
  3. 증감식: 매 반복의 코드 블록이 실행된 후에 실행됩니다. 주로 카운터 변수의 값을 변경하여 반복을 제어합니다.

예시

5번 반복하기

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}`);
  }
}

2. 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
*/

3. do...while 반복문

do...while 반복문은 while문과 매우 유사하지만, 조건식을 평가하기 전에 코드 블록을 최소 한 번은 반드시 실행한다는 차이점이 있습니다.

기본 구조

do {
  // 반복 실행할 코드 (최소 한 번은 실행됨)
} while (조건식);

예시

let count = 5;

do {
  console.log(`카운트: ${count}`); // count가 5임에도 불구하고 일단 한 번 실행됨
  count++;
} while (count < 5); // 조건식은 false이므로 반복을 종료함

// 출력: 카운트: 5

반복문 제어

break

break 문은 현재 실행 중인 반복문(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

continue

continue 문은 현재 진행 중인 반복을 중단하고, 즉시 다음 반복으로 넘어갑니다. 코드 블록의 나머지 부분은 실행되지 않습니다.

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
profile
donggyun_ee

0개의 댓글