JavaScript Loop While
JavaScript Loop While: 조건 기반 반복문의 이해와 활용
JavaScript에서 while
반복문은 조건이 참(true
)일 동안 계속해서 특정 코드를 반복
실행하는 제어 구조입니다. 이 반복문은 반복 횟수가 정해지지 않았거나, 조건을 기반으로 반복을 제어할 때 유용하게 사용됩니다. while
문은 조건이
**거짓(false
)**이 될 때까지 반복을 계속합니다.
이 가이드는 while
반복문의 기본 개념과 구조, 다양한 활용 방법을 설명합니다.
1. while
반복문의 기본 구조
while
반복문은 주어진 조건이 참일 때 반복을 수행합니다. 조건이 거짓이 되면 반복을 종료합니다.
1.1. 기본 구문
while (조건식) {
// 조건이 참일 동안 실행할 코드
}
- 조건식: 반복문이 실행될지 여부를 결정하는 조건입니다. 조건이 참일 동안 코드 블록이 반복됩니다.
2. while
반복문 예시
2.1. 간단한 카운팅 반복문
1부터 5까지의 숫자를 출력하는 예시입니다.
let i = 1;
while (i <= 5) {
console.log(i);
i++; // i를 1씩 증가시킴
}
// 출력:
// 1
// 2
// 3
// 4
// 5
2.2. 조건을 만족할 때까지 반복
반복 횟수가 정해지지 않았을 때 조건이 만족될 때까지 계속 실행할 수 있습니다. 예를 들어, 임의의 숫자가 5가 될 때까지 반복합니다.
let randomNumber;
while (randomNumber !== 5) {
randomNumber = Math.floor(Math.random() * 10); // 0부터 9까지 임의의 수 생성
console.log(randomNumber);
}
// 출력 예시: 3, 7, 8, 5 (5가 나올 때까지 반복)
3. do...while
반복문
do...while
반복문은 조건을 나중에 검사하는 반복문입니다. 즉, 최소 한 번은 코드
블록이 실행된 후 조건을 확인합니다.
3.1. 기본 구문
do {
// 한 번은 실행할 코드
} while (조건식);
- *
while
*과 달리, **do...while
*은 조건이 거짓이더라도 코드가 한 번은 실행됩니다.
3.2. 사용 예시
let i = 6;
do {
console.log(i);
i++;
} while (i <= 5);
// 출력: 6 (한 번은 실행됨)
4. 무한 루프
무한 루프는 조건이 항상 참이기 때문에 종료되지 않는 반복문입니다. 무한 루프는 보통 break
문을 사용하여 명시적으로
반복을 중단할 수 있습니다.
4.1. 무한 루프 예시
while (true) {
console.log("무한 루프 실행 중...");
break; // 이 코드는 무한 루프를 방지하기 위해 사용
}
4.2. 무한 루프 활용
입력을 받을 때까지 반복하는 프로그램에서 유용합니다. 사용자가 특정 입력을 할 때까지 계속해서 입력을 요청하는 경우입니다.
let input;
while (input !== "exit") {
input = prompt("종료하려면 'exit'을 입력하세요:");
console.log("입력:", input);
}
// 사용자가 'exit'을 입력하면 종료
5. break
와 continue
5.1. break
break
문은 반복문을 즉시 종료합니다. while
반복문에서도 중간에 조건을 만족하거나 필요할 때 반복을 종료할 수 있습니다.
let i = 0;
while (i < 10) {
if (i === 5) {
break; // i가 5일 때 반복문 종료
}
console.log(i);
i++;
}
// 출력:
// 0
// 1
// 2
// 3
// 4
5.2. continue
continue
문은 현재 반복을 건너뛰고 다음 반복을 계속 진행합니다.
let i = 0;
while (i < 5) {
i++;
if (i === 3) {
continue; // i가 3일 때 건너뜀
}
console.log(i);
}
// 출력:
// 1
// 2
// 4
// 5
6. while
과 for
반복문의 비교
while
반복문: 주로 조건 기반 반복 작업에 사용됩니다. 반복 횟수를 미리 알 수 없거나 조건을 만족할 때까지 반복해야 할 때 유용합니다.for
반복문: 고정된 횟수로 반복할 때 적합합니다. 반복 변수를 초기화하고, 조건을 설정하며, 변수를 증가시키는 구조가 간결합니다.
6.1. for
반복문을 while
로 변환
// for 반복문
for (let i = 0; i < 5; i++) {
console.log(i);
}
// 동일한 동작을 하는 while 반복문
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
7. while
반복문 활용 예시
7.1. 팩토리얼 계산
주어진 숫자의 팩토리얼을 계산하는 while
반복문입니다.
let number = 5;
let factorial = 1;
while (number > 0) {
factorial *= number;
number--;
}
console.log(`팩토리얼: ${factorial}`); // 출력: 팩토리얼: 120
7.2. 유효한 입력 받기
유효한 입력이 들어올 때까지 반복적으로 입력을 받는 예시입니다.
let userInput;
while (userInput !== "yes" && userInput !== "no") {
userInput = prompt("yes 또는 no를 입력하세요:");
console.log("입력:", userInput);
}
8. 주의사항
- 무한 루프 주의: 반복 조건이 잘못 설정되면 무한 루프가 발생할 수 있습니다. 항상 조건을 제대로 설정하고, 반복을 종료할 수 있는 방법을 마련해야 합니다.
do...while
의 최소 1회 실행:do...while
은 조건과 상관없이 최소 한 번은 실행되므로, 이 동작을 염두에 두고 사용해야 합니다.
요약
while
반복문: 조건이 참일 동안 반복을 수행하는 기본적인 반복문입니다.do...while
반복문: 최소 한 번은 실행된 후 조건을 검사하는 반복문입니다.- *
break
*와continue
: 반복문을 제어하는 데 사용되며,break
는 반복을 중단하고continue
는 현재 반복을 건너뜁니다. - 사용 예시: 팩토리얼 계산, 유효한 입력 받을 때 유용하게 사용됩니다.
while
반복문은 조건 기반으로 반복 작업을 처리하는 강력한 도구입니다. 이를 적절히 활용하면 조건에 따라 반복 작업을 유연하게 제어할 수 있습니다.