while
문의 정의 및 사용법
while
문은 조건식과 코드 블록으로 구성되며,
조건식이 참(true
)인 동안 코드 블록을 반복 실행하는 반복문입니다.
조건식이 거짓(false
)이 되면 반복이 종료됩니다.
while
문은 if
문이 반복되는 형태라고 생각할 수 있습니다.
출처: wikipedia - While loop
구문
while
문은 괄호로 묶인 조건식과 코드 블록으로 구성되어 있습니다.
코드 블록 실행 조건식
코드 블록을 실행할 조건식입니다. 생략할 수 없습니다.
- 이 조건식이 참(
true
)이면 코드 블록을 실행합니다. - 이 조건식이 거짓(
false
)이면while
문은 더 이상 실행되지 않고 종료됩니다. - 조건식을 생략하면 구문 오류가 발생합니다.
구문의 실행 순서
while
문이 실행될 때, 다음의 순서대로 실행됩니다.
코드 블록 실행 조건식
으로 검사합니다. 이때, 이 조건식이 참(true
)이면 코드 블록을 실행합니다. 하지만, 거짓(false
)이면for
문은 더 이상 실행되지 않고 종료됩니다.코드 블록 실행 조건식
이 참(true
)으로 검사되었다면 코드 블록이 실행됩니다.- 코드 블록이 실행된 후,
코드 블록 실행 조건식
으로 검사하는 첫 번째 단계로 되돌아갑니다. 이 후의 단계가 반복됩니다.
while
문의 유용성
while
문은
특정 횟수가 사전에 정해져 있지 않은 부울(boolean) 조건의 코드를 반복 실행할 때 매우 유용합니다.
다음은 "사용자가 이름을 입력할 때까지 반복하여 입력을 요청하고, 사용자가 입력한 이름을 화면에 출력"하는 예제입니다.
특정 횟수가 사전에 정해져 있지 않은 부울(boolean) 조건의 코드를 반복 실행할 때 while
문이 얼마나 유용한지를 잘 나타냅니다.
코드 부연설명
textContent
속성은 HTML 요소의 텍스트 콘텐츠를 가져오거나 설정합니다.
코드 부연설명
setAttribute()
함수는 DOM 요소에 속성 값을 설정하는 함수입니다.
주의하세요!
위 예제 코드는 while
문의 작동의 이해를 위한 단순 예제입니다.
특정 횟수가 사전에 정해져 있지 않은 부울(boolean) 조건의 코드를 반복 실행할 때 매우 유용하다는 것을 설명하는 예제로 사용자가 취소를 선택하거나 아무것도 입력하지 않은 경우 무한 반복에 빠질 수 있습니다. 실전에 사용하지 마세요!
위 예처럼 while
문은 특정 횟수가 사전에 정해져 있지 않은 부울(boolean) 조건의 코드를 반복 실행할 때 매우 유용합니다.
반면에, for
문은 특정 횟수나 정해져 있는 범위만큼 코드를 반복 실행할 때 매우 유용합니다.
주의할 점
while
문을 사용할 때에는 무한 반복에 빠지지 않게 주의해야 합니다.
반복 횟수를 제어하기 위해 상황에 따라 조건식을 변경하거나 증감 변수를 사용을 고려할 수 있습니다.
명세서
명세서 사양 | |
---|---|
while
|
ECMAScript Language Specification #sec-while-statement |
브라우저 호환성
문 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
while
|
1 | 12 | 1 | 1 |