:ledger: while문과 for문 언제 사용하는게 좋을까?

자바스크립트에서 while 문과 for 문은 반복 작업을 처리하기 위한 기본적인 반복문이다.
이 두 가지는 목적과 사용 상황이 다소 다르기에 각각의 특징을 이해하고, 적절히 사용하는 것이 중요한 이유를 알아보자.

:one: while 문: 조건에 따라 반복

while 문은 특정 조건이 참일 동안 반복 실행되는 반복문이다. 조건이 언제 종료될지 명확하지 않거나, 조건을 동적으로 평가해야 할 때 적합하다.

  • 반복 횟수를 사전에 알 수 없는 경우
  • 조건이 참인지 계속 평가하며 반복해야 하는 경우

pushpin: 1-1) 예시1: 사용자가 입력을 받을 때

사용자가 quit를 입력할 때까지 반복 입력받는 예시다.

let input;
while (input !== "quit") {
  input = prompt("내용을 입력하셈. (종료하려면 quit 입력)");
  console.log(`입력 값 ${input}`);
}

:pushpin: 1-2) 예시2: 데이터 처리 조건에 따른 방법

데이터가 비어 있지 않을 때만 작업을 계속 수행한다.

let items = [1, 2, 3];
while (items.length > 0) {
  console.log(`처리중입니다. ${items.pop()}`);
}

:two: for문 정해진 반복 횟수

for문은 반복 횟수가 명확하거나 정해진 범위 내에서 반복이 필요할 때 적합하다. 초기값,조건,증감 표현을 한 줄로 작성할 수 있어 가독성이 좋다.

for (초기값; 조건; 증감식) {
  // 반복 실행할 코드
}
  • 반복 횟수가 명확히 정해져 있는 경우
  • 배열, 객체 등 반복 가능한 데이터를 순회할 때

:pushpin: 2-1) 예시1: 숫자 카운트

0부터 9까지 출력한다.

for (let i = 0; i < 10; i++) console.log(i);

:pushpin: 2-2) 예시2: 배열 순회

배열의 요소를 하나씩 출력한다.

const fruits = ["apple", "banana", "cherry"];
for (let i = 0; i < fruits.length; i++) {
  console.log(fruits[i]);
}

:three: 두 반복문의 차이점 비교

특징 while 문 for 문
사용 목적 조건에 따라 반복, 반복 횟수를 알 수 없을 때 반복 횟수가 명확할 때
가독성 조건만으로 반복을 정의 (간결하지만 가독성이 떨어질 수 있음) 초기값, 조건, 증감식을 한 줄로 관리 가능
사용 예 사용자 입력, 데이터 처리, 무한 루프 등 정해진 범위 순회, 배열 및 객체 데이터 처리
무한 루프 가능성 조건을 잘못 설정하면 무한 루프 발생 가능 조건이 명확하여 무한 루프 가능성이 낮음

:four: 언제 어떤 것을 사용할까?

상황 적합한 반복문 설명
조건에 따라 동적 반복이 필요할 때 while 반복 횟수를 예측하기 어렵거나 종료 조건이 동적일 때 사용
정해진 범위나 횟수의 반복이 필요할 때 for 초기값, 조건, 증감식이 명확한 경우 적합
데이터 스트림이나 사용자 입력 처리 시 while 데이터가 지속적으로 들어오거나 사용자 입력을 기다릴 때 적합
배열, 객체 등의 데이터를 순회할 때 for 반복 가능한 데이터 구조를 다룰 때 간결하게 작성 가능

:fire: 회고

while 문과 for 문은 목적에 맞게 사용해야 더 명확하고 유지보수하기 쉬운 코드를 작성할 수 있다.

  • 조건에 따라 반복해야 한다면 while을 사용하자.
  • 반복 횟수가 명확하다면 for를 사용하자.

:pushpin: 참고 문서

태그: ,

카테고리: ,

업데이트: