[JS] switch의 자료형

2652 단어 jsjs

자료 출처 - 모던 JavaScript 튜토리얼

switch 문은 형 변환이 일어나지 않는다

let arg = prompt("값을 입력해주세요.");
switch (arg) {
  case '0':
  case '1':
    alert( '0이나 1을 입력하셨습니다.' );
    break;

  case '2':
    alert( '2를 입력하셨습니다.' );
    break;

  case 3:
    alert( '이 코드는 절대 실행되지 않습니다!' );
    break;
  default:
    alert( '알 수 없는 값을 입력하셨습니다.' );
}

위의 코드를 실행해도 switch문에서 3으로 가는 일은 절대 없다. alert의 자신에 찬 말처럼 해당 구문은 실행되지 않는다. prompt로 받아온 값은 문자열이 된다. 하지만 case 3:에서 3은 문자열이 아니라 숫자이기 때문에 둘은 서로 형이 다르다.
자료형이 다르면 내용이 같아도 switch는 같다고 보지 않는다. 즉, 형 변환이 일어나지 않는다,

좋은 웹페이지 즐겨찾기