[JavaScript] 자바스크립트 반복문 while 문과 do while 문
while 문과 do while 문의 차이점은 조건식(표현식)의 위치이이다.
while 문은 반복문 처음에 위치에 있어 처음부터 조건을 따져 반복문을 실행하지만,
do while 문은 조건문이 반복문 마지막에 위치해 있어 처음에는 반복을 한번 실행 후 조건식을 따지게 된다.
while 문
while 문은 특정 조건을 만족할 때까지 계속해서 주어진 실행문을 반복 실행합니다.
문법
while (조건식) {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
}
while 문은 우선 조건식이 참(true)인지를 판단하여 참이면 내부의 실행문을 실행합니다.
내부의 실행문을 전부 실행하고 나면, 다시 표현식으로 돌아와 또 한 번 표현식이 참인지를 판단하게 됩니다.
이렇게 조건식의 검사를 통해 반복해서 실행되는 반복문을 루프(loop)라고 합니다.
See the Pen wvKLwEW by yunjunshin (@yjshin) on CodePen.
while 문 내부에 조건식의 결과를 변경하는 실행문이 존재하지 않을 경우 프로그램은 루프를 영원히 반복하게 됩니다.
이것을 무한 루프(infinite loop)에 빠졌다고 하며, 무한 루프에 빠진 프로그램은 영원히 종료되지 않습니다.
무한 루프는 특별히 의도한 경우가 아니라면 반드시 피해야 하는 상황입니다.
따라서 while 문을 작성할 때는 조건식의 결과가 어느 순간에는 거짓(false)을 갖도록 조건식를 변경하는 실행문을 반드시 포함해야 합니다.
do / while 문
while 문은 루프에 진입하기 전에 먼저 조건식부터 검사합니다.
하지만 do / while 문은 먼저 루프를 한 번 실행한 후에 조건식을 검사합니다.
즉, do / while 문은 조건식의 결과와 상관없이 무조건 한 번은 루프를 실행합니다.
문법
do {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문;
} while (조건식);
See the Pen oNjrvPO by yunjunshin (@yjshin) on CodePen.
'IT > Web' 카테고리의 다른 글
[JavaScript] 자바스크립트 label, continue, break 문 (0) | 2020.06.15 |
---|---|
[JavaScript] 자바스크립트 for 문, for in 문, for of 문 (4) | 2020.05.28 |
[JavaScript] 자바스크립트 switch 문 (0) | 2020.05.26 |
[JavaScript] 자바스크립트 if , else, else if 문 (0) | 2020.05.22 |
[JavaScript] 자바스크립트 비교 논리 비트 기타 연산자 (0) | 2020.05.18 |
댓글