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문에서도 사용될 수 있다.
'■ 프로그래밍 > JavaScript' 카테고리의 다른 글
배열의 반복 (2) - map(), filter() (0) | 2020.03.15 |
---|---|
배열의 반복 (1) - forEach() (0) | 2020.03.14 |
반복문(Loop) (1) - for문 (0) | 2020.03.12 |
문자열 메소드 - slice, charAt, split, replace, indexOf (1) | 2020.03.05 |
배열(Array) (2) - 업데이트, 추가(push), 제거(pop), 배열 이어 붙이기(join, concat) (0) | 2020.03.04 |