조건식이 true 인 동안 반복해서 실행문을 실행한다.
while (조건식) {
실행문;
}
무한 실행
웹 브라우저가 무한 반복을 처리하느라 다른 일을 하지 못한다.(== 웹 브라우저가 멈춤)
while(true){
console.log('Hello, while !');
}
무한 실행을 피하려면?
// i가 1부터 100이 될때까지 조건문이 실행된다.
// i가 101이 되면, 조건식이 false가 되어 반복문이 멈춤.
let i = 1;
while(i <= 100){
console.log('Hello, while !');
i++;
}
// (100) Hello, while !
for문의 소괄호에는 세 가지 요소가 들어간다.
for (시작; 조건식; 종료식){
실행문;
}
for (let i = 0; i < 100; i++){
console.log('Hello, for!');
}
// (100) Hello, for!
단, 실제로 코드를 실행하면 무한 반복되어 프로그램이나 브라우저가 멈춰버림.
조건식이 없어서 반복문이 종료되지 않기 때문이다.
for(;;){
실행문;
}
// 무한 반복된다...
let i = 0;
while(true){
if(i === 5) break; // i가 5가 되는 순간 반복문은 멈춘다.
console.log(i);
i++;
}
// 0
// 1
// 2
// 3
// 4
i가 홀수 일때만 콘솔에 출력하도록 만든 반복문
let i = 0;
while(i < 10) {
i++;
if(i % 2 === 0) { // i에 1이 들어오면 조건에 대해 false임.
continue; // 그래서 if 문에 안걸린체로 콘솔에 찍혀서 1이 찍힘.
} // i에 2가 들어오면 if 문에 true로 걸리기 때문에, 콘솔에 찍히기 전에 건너뜀.
console.log(i);
}
// 1
// 3
// 5
// 7
// 9
둘 중 어느 반복문을 사용할지는 사용자의 상황과 개발자의 개인적인 선호도에 따라 다를 수 있지만, 각각의 상황에 따라 적절한 반복문을 선택해서 코드의 가독성과 목적에 맞는 반복 구문을 선택하면 된다.
for문
- 반복 횟수를 알고 있거나 지정된 횟수만큼 반복해야 할 때
while문
- 반복 횟수가 동적이거나 특정 조건에 따라 반복을 진행해야 할 때