프로그래밍/Javascript

자바스크립트 반복문 완전 정복: `for`, `while`, `do...while` 제대로 활용하는 법

shimdh 2025. 2. 12. 10:17
728x90

프로그래밍에서 반복문(Loop)은 가장 필수적인 개념 중 하나입니다. 코드를 여러 번 실행해야 하는 경우, 반복문을 사용하면 코드의 가독성과 유지보수성을 높일 수 있습니다.
자바스크립트에서는 for, while, do...while이라는 세 가지 주요 반복문을 제공하며, 각각의 특징과 활용법이 다릅니다.

이번 블로그에서는 반복문을 언제, 어떻게 사용해야 하는지 자세히 살펴보고, 실제 활용 가능한 예제까지 제공하겠습니다.


🔥 반복문이란? 왜 사용할까?

반복문은 특정 조건이 만족될 때까지 같은 코드 블록을 반복 실행하는 제어문입니다.
이러한 반복문을 사용하면 아래와 같은 이점이 있습니다.

  • 코드의 중복을 줄임 → 동일한 작업을 여러 번 수행할 때 유용
  • 코드 가독성 증가 → 복잡한 연산을 깔끔하게 정리 가능
  • 자동화 가능 → 데이터 처리, 사용자 입력 관리 등에 활용

📌 for 문: 정해진 횟수만큼 반복할 때 사용

for 문은 반복 횟수를 미리 알고 있을 때 가장 적합한 반복문입니다.
반복문의 실행 횟수를 명확히 지정할 수 있으며, 배열과 함께 자주 사용됩니다.

🔹 기본 구조:

for (초기화; 조건; 증감) {
    // 실행할 코드
}

🔹 예제: 1부터 5까지 숫자 출력하기

for (let i = 1; i <= 5; i++) {
    console.log(i);
}

📌 설명:

  • let i = 1i를 1로 초기화
  • i <= 5i가 5 이하일 때만 반복 실행
  • i++ → 반복할 때마다 i 값 증가

🎯 for 문 실전 활용 예제

1️⃣ 배열 순회 (Array Iteration)

const fruits = ['사과', '배', '바나나'];

for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

2️⃣ 특정 작업 여러 번 반복

for (let i = 0; i < 3; i++) {
    console.log(`반복 횟수: ${i + 1}`);
}

📌 while 문: 조건이 참(true)인 동안 반복

while 문은 반복 횟수를 미리 알 수 없는 경우 유용합니다.
특정 이벤트 발생 시까지 반복해야 하는 경우에 적합합니다.

🔹 기본 구조:

while (조건) {
    // 실행할 코드
}

🔹 예제: 사용자가 exit을 입력할 때까지 계속 입력받기

let input;
while (input !== 'exit') {
    input = prompt('종료하려면 "exit"을 입력하세요:');
    console.log(input);
}

📌 설명:

  • 사용자가 'exit'을 입력할 때까지 계속 프롬프트를 실행
  • input 값이 'exit'이 아니면 반복 실행

🎯 while 문 실전 활용 예제

1️⃣ 특정 조건이 만족될 때까지 반복

let count = 0;
while (count < 5) {
    console.log(`현재 카운트: ${count}`);
    count++;
}

2️⃣ 배열 순회 (while 활용)

const colors = ['빨강', '파랑', '초록'];
let index = 0;

while (index < colors.length) {
    console.log(colors[index]);
    index++;
}

📌 do...while 문: 최소 한 번 실행 보장

do...while 문은 while 문과 비슷하지만, 조건을 검사하기 전에 코드 블록을 최소 한 번 실행합니다.
사용자가 최소 한 번은 입력을 해야 하는 경우 등에 적합합니다.

🔹 기본 구조:

do {
    // 실행할 코드
} while (조건);

🔹 예제: 최소 한 번 사용자에게 이름을 묻기

let name;
do {
    name = prompt('당신의 이름은 무엇인가요?');
} while (!name);

console.log(`안녕하세요, ${name}!`);

📌 설명:

  • 사용자 입력이 없더라도 최소 한 번은 실행
  • 빈 문자열이 입력될 경우 다시 질문

🎯 do...while 문 실전 활용 예제

1️⃣ 올바른 숫자가 입력될 때까지 반복

let num;
do {
    num = parseInt(prompt('양수를 입력하세요:'), 10);
} while (num <= 0);

console.log(`입력한 숫자는 ${num}입니다.`);

🔥 반복문 선택 기준 (for vs while vs do...while)

반복문 사용 조건
for 반복 횟수를 미리 알 수 있을 때
while 종료 조건이 동적일 때
do...while 최소 한 번은 실행해야 할 때

📌 고급 활용: forEach, map을 활용한 반복

자바스크립트에서는 for 문 외에도 배열 전용 반복 메서드를 제공합니다.

🔹 forEach(): 배열의 각 요소를 순회

const animals = ['고양이', '강아지', '토끼'];

animals.forEach((animal) => {
    console.log(animal);
});

🔹 map(): 배열 요소를 변환하여 새로운 배열 생성

const numbers = [1, 2, 3, 4];

const squared = numbers.map(num => num ** 2);
console.log(squared); // [1, 4, 9, 16]

🎯 결론

반복문은 자바스크립트에서 필수적으로 사용되는 핵심 개념입니다.
아래 기준에 따라 적절한 반복문을 선택하면 코드의 효율성을 극대화할 수 있습니다.

  • for → 반복 횟수가 정해져 있을 때
  • while → 특정 조건이 충족될 때까지 실행
  • do...while → 최소 한 번 실행해야 할 때
  • forEach, map → 배열을 더 쉽게 다룰 때

반복문의 특성과 활용법을 잘 익혀서 가독성 좋은 코드를 작성해 보세요!

728x90