각설이 죽지도 않고 돌아왔습니다.
do...while
테스트 조건이 거짓으로 평가될 때까지 지정된 구문을 실행하는 루프를 만듭니다.
단, 구문이 실행된 뒤에 테스트 조건이 평가됨으로 구문은 무조건 한 번은 실행됩니다.
*참고자료 : MDN Web Docs - do while
일단, 설명만 봐서는 while문이랑 크게 차이는 보이지 않는거 같다.
다만 실행순서가 조금 다른데
do{
//구문
}
while (//조건식);
구문
테스트 조건이 참일 때마다 한 번이상 실행되는 구문입니다.
만약 루프 내에서 여러 구문을 반복 실행 시키고 싶으시다면,
다음 명령을 사용합니다. block 구문을 활용하여 ({ ... }) 이런 식으로 그룹화합니다.
조건식
루프가 실행될 때마다 평가되는 식입니다. 만약 조건식이 참으로 평가되었다면, 구문 이 다시 실행됩니다.
만약 조건식이 거짓으로 평가되었다면, 자바스크립트는 do...while. 구문 밑에 있는 구문들을 실행시킵니다.
예시,
let kg = 50;
let hamburger = 0;
do {
hamburger++;
kg += hamburger;
} while (hamburger < 5);
console.log(kg);
// 65
hamburger라는 변수에 1씩 더하고 kg의 변수에 hamburger를 더 한다.
hamburger라는 변수가 5보다 작을 때 까지 반복한다.
마지막 결과값은 65이다.
while문과 크게 차이가 없는거 같네요.
일단, 이정도로 마무리하고 추가사항있으면 ver.수정1 로 올리겠습니다.
while문과 do while문의 차이 예시문
let i = 10;
while (i < 5) {
console.log(i);
i++;
}
// while문의 조건은 i라는 변수가 5보다 작을 때 까지 반복하는거인데,
// i라는 변수가 애초에 5보다 큰 10 이기 때문에 동작하지 않음.
// 콘솔에 아무것도 출력되지 않음
let i = 10;
do {
console.log(i);
i++
} while (i < 5);
// do while문은 조건을 검사하기 전에 콘솔에 i를 출력하고 i를 증가시킴.
// 그리고 나서 조건을 검사함.
// 콘솔에는 한 번만 i의 값이 10으로 출력됨.
댓글