while 문

while (조건){
  반복해서 실행할 코드
}
  • while 문은 조건이 true면 코드를 계속 반복적으로 실행한다. 조건이 false면 반복문이 실행되지 않는다. 종료 조건을 지정해 반복문을 종료시킬 수 있다.

만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환되어 논리적 참, 거짓을 구별한다.

var count = 0;

// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
while (count < 3) {
  console.log(count);
  count++;
} // 0 1 2

do while 문

위의 while문에서는 조건식이 참이면 명령문을 실행했다. do while문은 코드 블록을 실행하고 조건식을 평가한다. 따라서 코드 불록은 무조건 한번 이상 실행된다.

var count = 0;

// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
do {
  console.log(count);
  count++;
} while (count < 3); // 0 1 2

switch 문

switch(표현식) {
  case 표현식1: 
    스위치 문의 표현식과 표현식1이 일치하면 실행될 문;
    break;
  case 표현식2:
    스위치 문의 표현식과 표현식2가 일치하면 실행될 문;
    break;
  default:
    스위치 문의 표현식과 일치하는 표현식을 갖는 case 문이 없을 때 실행될 문;
}  // 참조하는 변수에 만족하면, 조건에 만족하면 실행하고 끝낸다. 간단
  • switch 문은 switch 문의 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 순서를 이동시켜 스위치 하는거다. 케이스 따져서 case 표현식을 지정하고 콜론으로 마친다. 그리고 그 뒤에 실행할 문들을 위치시킨다.

  • switch 문의 표현식과 일치하는 표현식을 갖는 case 문이 없다면 실행 순서는 default 문으로 이동한다. default 옵션으로 사용할 수도 있고 사용하지 않을 수도 있다.

  • case문은 여러 개의 case문을 중복해 사용할 수도 있다.

  • 가능하면 if else 문을 사용하는 것이 좋은데 가독성 때문이라면 switch를 쓰자.

switch (new Date().getDay()) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
     day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
}                        // 그날의 요일이 나옴 ex) Tuesday

break

  • 만약 switch문에서 break문을 안쓴다면 모든 case문을 돌고 마지막 default문도 돈다. witch문을 탈출하지 못하고 계속 끝까지 돈다. 이것을 fall through라고 한다.

  • break문은 코드 블록에서 탈출하는 역할을 한다. default문에는 break문을 생략하는게 일반적이다. 어짜피 default문은 마지막에 오기 때문에 마지막에 오면 switch문을 빠져 나간다.

while 과 do..while은 반복문이고 switch문은 조건문이다.

참고

https://www.codingfactory.net/10443

https://www.everdevel.com/JavaScript/js-while.php

https://poiemaweb.com/js-control-flow

https://www.w3schools.com/js/js_switch.asp (switch 예제 요일)