while 루프는 지정된 조건식(expression)이 참(true)인 동안 특정 문장 또는 코드 블록을 반복해서 실행하는 제어문입니다. 조건식의 평가 결과가 거짓(false)이 되는 순간 루프는 종료되고, 프로그램의 실행 흐름은 루프 바로 다음 코드로 이동합니다.
while 루프의 동작 원리
while 루프는 본문을 실행하기 전에 먼저 조건을 검사하는 '선검사(pre-test)' 방식으로 동작합니다. 따라서 처음부터 조건이 거짓이라면 루프 본문은 단 한 번도 실행되지 않습니다. 반복이 무한히 계속되는 것을 방지하려면 루프 내부에서 조건식에 영향을 주는 변수의 값을 반드시 갱신해 주어야 합니다.
순서도로 표현한 while 루프
아래 순서도는 자바스크립트 while 루프의 실행 흐름을 시각적으로 보여 줍니다.
- 시작(Start): 프로그램 진입점을 나타냅니다.
- 조건 검사(마름모 기호): 조건식을 평가하여 참인지 거짓인지 판단합니다.
- 참(True) 경로: 조건이 참이면 루프 본문(코드 블록)을 실행한 뒤 다시 조건 검사 단계로 돌아갑니다.
- 거짓(False) 경로: 조건이 거짓이면 루프를 빠져나와 종료(End) 단계로 진행합니다.

예제 코드
다음은 0부터 4까지의 숫자를 출력하는 간단한 while 루프 예제입니다.
let i = 0;
while (i < 5) {
console.log(i);
i++;
}위 코드에서 i < 5라는 조건식이 참인 동안 블록 내부의 코드가 반복 실행되며, i++에 의해 값이 증가하다가 5가 되는 순간 조건이 거짓이 되어 루프가 종료됩니다. 이러한 흐름이 바로 위 순서도의 조건 검사 → 본문 실행 → 재검사 과정과 정확히 일치합니다.