[mjt] while문과 for문 언제 사용하는게 좋을까?
while문과 for문 언제 사용하는게 좋을까?
자바스크립트에서 while
문과 for
문은 반복 작업을 처리하기 위한 기본적인 반복문이다.
이 두 가지는 목적과 사용 상황이 다소 다르기에 각각의 특징을 이해하고, 적절히 사용하는 것이 중요한 이유를 알아보자.
while
문: 조건에 따라 반복
while
문은 특정 조건이 참일 동안 반복 실행되는 반복문이다. 조건이 언제 종료될지 명확하지 않거나, 조건을 동적으로 평가해야 할 때 적합하다.
- 반복 횟수를 사전에 알 수 없는 경우
- 조건이 참인지 계속 평가하며 반복해야 하는 경우
pushpin: 1-1) 예시1: 사용자가 입력을 받을 때
사용자가 quit
를 입력할 때까지 반복 입력받는 예시다.
let input;
while (input !== "quit") {
input = prompt("내용을 입력하셈. (종료하려면 quit 입력)");
console.log(`입력 값 ${input}`);
}
1-2) 예시2: 데이터 처리 조건에 따른 방법
데이터가 비어 있지 않을 때만 작업을 계속 수행한다.
let items = [1, 2, 3];
while (items.length > 0) {
console.log(`처리중입니다. ${items.pop()}`);
}
for
문 정해진 반복 횟수
for
문은 반복 횟수가 명확하거나 정해진 범위 내에서 반복이 필요할 때 적합하다. 초기값,조건,증감 표현을 한 줄로 작성할 수 있어 가독성이 좋다.
for (초기값; 조건; 증감식) {
// 반복 실행할 코드
}
- 반복 횟수가 명확히 정해져 있는 경우
- 배열, 객체 등 반복 가능한 데이터를 순회할 때
2-1) 예시1: 숫자 카운트
0부터 9까지 출력한다.
for (let i = 0; i < 10; i++) console.log(i);
2-2) 예시2: 배열 순회
배열의 요소를 하나씩 출력한다.
const fruits = ["apple", "banana", "cherry"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
두 반복문의 차이점 비교
특징 | while 문 | for 문 |
---|---|---|
사용 목적 | 조건에 따라 반복, 반복 횟수를 알 수 없을 때 | 반복 횟수가 명확할 때 |
가독성 | 조건만으로 반복을 정의 (간결하지만 가독성이 떨어질 수 있음) | 초기값, 조건, 증감식을 한 줄로 관리 가능 |
사용 예 | 사용자 입력, 데이터 처리, 무한 루프 등 | 정해진 범위 순회, 배열 및 객체 데이터 처리 |
무한 루프 가능성 | 조건을 잘못 설정하면 무한 루프 발생 가능 | 조건이 명확하여 무한 루프 가능성이 낮음 |
언제 어떤 것을 사용할까?
상황 | 적합한 반복문 | 설명 |
---|---|---|
조건에 따라 동적 반복이 필요할 때 | while | 반복 횟수를 예측하기 어렵거나 종료 조건이 동적일 때 사용 |
정해진 범위나 횟수의 반복이 필요할 때 | for | 초기값, 조건, 증감식이 명확한 경우 적합 |
데이터 스트림이나 사용자 입력 처리 시 | while | 데이터가 지속적으로 들어오거나 사용자 입력을 기다릴 때 적합 |
배열, 객체 등의 데이터를 순회할 때 | for | 반복 가능한 데이터 구조를 다룰 때 간결하게 작성 가능 |
회고
while
문과 for
문은 목적에 맞게 사용해야 더 명확하고 유지보수하기 쉬운 코드를 작성할 수 있다.
- 조건에 따라 반복해야 한다면 while을 사용하자.
- 반복 횟수가 명확하다면 for를 사용하자.