[JavaScript] 자바스크립트 do-while문 사용법 & 예제 정리

do-while 문은 코드 블록을 한 번 실행한 후에 조건을 만족하면 코드 블록을 재 실행하는 반복문입니다. 따라서 do-while 문은 최소한 한 번은 코드 블록은 무조건 실행하고 조건에 따라서 반복 수행할지 여부를 결정합니다. 이번 포스팅에서는 자바스크립트의 do-while 문에 대해 알아보겠습니다.

 

※ while문이 궁금하시다면 아래 글을 참고해 주세요.

[JavaScript] 자바스크립트 while문 사용법 & 예제 정리

 


 do-while 문 사용법 

do {
  // 실행될 코드 블록
} while (조건);

위의 예제는 do-while 문의 기본형입니다. 여기서 조건은 불리언(boolean) 값으로 표현될 수 있는 식을 말하며 먼저 블록을 실행한 뒤 마지막에 조건이 true라면 중괄호 { } 안의 코드 블록이 다시 한번 실행되고 이를 조건이 만족하는 한 계속해서 반복합니다.

※ do-while과 while문의 차이점
while문의 경우에는 조건식의 만족 여부를 먼저 검사한 후 중괄호에 있는 코드의 실행여부를 결정하는데 비해 do while문은 반드시 한 번은 코드를 실행하고 조건식을 검사한다는 차이점이 있습니다.

 

do-while의 실행 순서

  1. { } 중괄호 안의 코드 블록을 실행합니다.
  2. 코드 블록이 실행된 후에 while 키워드 뒤에 조건식을 평가합니다.
  3. 조건이 참인지 여부에 따라 반복이 코드 블록의 로직을 반복 실행할지 결정합니다.
    • 조건이 true인 경우: 코드 블록을 다시 실행하고, 조건도 다시 검사합니다.
    • 조건이 false인 경우: do-while문을 종료하고 다음 코드로 이동합니다.

 

do-while 문 예제

See the Pen do-while by wjdxo513 (@wjdxo513) on CodePen.

 

do-while문을 사용해서 구구단을 출력해 보았습니다. 먼저 구구단을 한번 출력한 뒤 idx값이 10보다 클 때까지 반복해서 구구단을 출력합니다.

 

do-while 사용시 주의사항

let i = 0;
do {
  console.log(i);
  // i를 업데이트하는 부분이 빠져있으면 무한 루프에 빠질 수 있음
} while (i < 5) 

do-while 문을 사용할 때는 코드 블록을 최소한 한 번은 실행해야 하는 상황에서 사용하는 것이 적절합니다. 또한 조건식을 빠져나갈 수 있도록 하여 무한 루프에 빠지지 않도록 주의하셔야 합니다. 특히 비교하는 조건이 코드블록 안에서 업데이트되지 않으면 항상 같은 값을 비교하게 되어 무한루프에 빠지게 됩니다. 예를 들어 위의 예제에서 i++; 를 빠트렸다면, i의 값은 항상 0으로 유지되어 무한 루프에 빠지게 되겠습니다.

 

 


 

 do-while문에서의 break와 continue 

break - 반복문 탈출

  • break 문은 루프를 즉시 종료하고 루프 외부로 빠져나가게 합니다.
  • break가 실행되면 루프 조건의 판별 여부와 상관없이 루프가 종료됩니다.
  • 주로 특정 조건이 충족되었을 때 루프를 종료하고자 할 때 사용됩니다.

 

See the Pen do-while break by wjdxo513 (@wjdxo513) on CodePen.

 

위의 예제를 보시면 idx값이 5보다 크면 break문이 실행되어 do-while 반복문을 탈출하여 5까지만 출력되는 것을 보실 수 있습니다.

 

 

continue - 반복문 건너뛰기

  • continue 문은 현재 반복을 중단하고 다음 반복으로 진행합니다.
  • continue가 실행되면 이후의 코드는 실행되지 않고 다음 반복의 시작 지점으로 이동합니다.
  • 특정 조건일 때 현재 반복을 건너뛰고자 할 때 사용됩니다.

 

See the Pen do-while continue by wjdxo513 (@wjdxo513) on CodePen.

 

위의 예제를 보시면 idx값이 짝수(2로 나눈 나머지가 0)면 continue문이 실행되어 do-while 반복문을 건너뛰어 홀수만 출력되는 것을 보실 수 있습니다.

 

댓글

Designed by JB FACTORY