do...while
문의 정의 및 사용법
do...while
문은 코드 블록과 조건식으로 구성됩니다.
먼저 코드 블록을 무조건 한 번 실행한 후,
그 다음부터는 조건식이 참(true
)인 동안 코드 블록을 실행하는 루프를 만듭니다.
조건식이 거짓(false
)이 되면 do...while
문은 종료됩니다.
루프(loop)란
프로그램이 특정 조건을 만족할 때까지 동일한 작업을 반복적으로 수행하는 구조를 말합니다. 이 용어는 구조가 마치 고리(loop)처럼 연결되어 있다는 것에서 유래했습니다.
구문
코드 블록
do...while
문이 처음 시작할 때 무조건 한 번 실행합니다.
그 다음부터는 이 코드 블록
실행 후 다시 실행할지 검사하는 조건식
이 참(true
)으로 검사되었다면 다시 실행합니다.
조건식
코드 블록
이 실행된 후 코드 블록
을 다시 실행할지 검사하는 조건식입니다. 생략할 수 없습니다.
- 이 조건식이 참(
true
)이면코드 블록
이 실행됩니다. - 이 조건식이 거짓(
false
)이면do...while
문은 더 이상 실행되지 않고 종료됩니다. 조건식
을 생략하면 구문 오류가 발생합니다.
구문의 실행 순서
do...while
문이 실행될 때, 다음의 순서대로 실행됩니다.
do...while
문이 처음 시작할 때코드 블록
이 한 번 실행합니다.조건식
으로 검사합니다.
조건식
이 참(true
)이면 다음 단계로코드 블록
이 실행되지만, 거짓(false
)이면do...while
문은 더 이상 실행되지 않고 종료됩니다.조건식
이 참(true
)으로 검사되었다면코드 블록
이 실행됩니다.코드 블록
이 실행된 후조건식
으로 검사하는 두 번째 단계로 되돌아갑니다. 이 후의 단계가 반복됩니다.
다음의 예제 코드로 설명하겠습니다.
do...while
문이 처음 시작할 때코드 블록
이 한 번 실행합니다.console.log(i);
가 실행되어1
이 출력되고,i++
로 인해i
는2
가 됩니다.조건식
으로 검사합니다. 조건식i <= 5
가 참이므로 반복이 계속됩니다.- 이 과정이
i
가6
이 될 때까지 반복됩니다. 즉1
,2
,3
,4
,5
가 차례로 출력됩니다. i
가6
이 되면 조건식i <= 5
가 거짓이 되어 반복이 종료됩니다. 즉,do...while
문은 더 이상 실행되지 않고 종료됩니다.
break
문과 함께 사용
break
문은 현재 반복을 중지하고 반복문을 완전히 종료하는 기능을 수행합니다.
continue
문과 함께 사용
continue
문은 현재 반복의 나머지 부분을 건너뛰고 다음 반복을 즉시 시작하는 기능을 수행합니다.
명세서
명세서 사양 | |
---|---|
do...while
|
ECMAScript Language Specification #sec-do-while-statement |
브라우저 호환성
문 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
do...while
|
1 | 12 | 1 | 1 |