본문 바로가기

■ 프로그래밍/JavaScript

반복문(Loop) (2) - while문

While문

for문과 비슷하게 자주 쓰이는 반복문에는 while문이 있다. 

두 반복문의 가장 큰 차이점은 for문은 몇 번 반복 되는지 정해져 있다면, while문은 어떠한 조건이 참일때 계속 반복하는 것이다. 

 

whlil문의 기본 구조는 아래와 같다. 

while (조건) {
	// 실행될 내용
}

for문에서 작성한 것과 같은 것을 만들어 보겠다. (2020/03/12 - 반복문(Loop) (1 ) - for문)

var i = 0;
while ( i < 3) {
	console.log(i);
	i++
}

// output:
// 0
// 1
// 2

해당 while문은 do...while문으로도 바꿔 쓸 수 있다.

var i = 0;

do {
    console.log(i);
    i++;
} while (i < 3);

// output:
// 0
// 1
// 2

while문의 경우 조건이 false라면 아예 동작하지 않는다. 하지만 do...while문의 경우 먼저 반복문이 시작된 후 조건이 true인지 false인지 확인하기 때문에, 해당 반복문을 최소 1번이라도 작동시키고 싶을 땐 do...while문을 사용하면 된다. 

 

while문에는 큰 단점이 하나 있다. 

만약 조건이 끊임 없는 true일 경우, 멈출 수 없다는 것이다. 짧으면 상관없지만 만약 i가 영원히 0이라면 컴퓨터는 과부하에 걸려 손상될 가능성이 크다. 이런 사태를 중단시키기 위해 break가 존재한다. 

var i = 0;
while ( i < 100) {
	i++;
	if ( i > 10){
          break;
    }
    console.log(i);
}

// output:
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10

만약 break가 없었다면, 컴퓨터는 무한으로 0을 계속 반복시켰을 것이다. 잘못해서 break를 쓰지 않고 실행했다면, shitf+esc로 강제 종료를 시키자. 

break는 for문에서도 사용될 수 있다.