switch문

정세형·2022년 9월 4일
0

javascript

목록 보기
12/30

switch문

switch(x) {
  case value1 : // if (x === 'value1')
    ...
    break;
    
  case value2 : // if (x === 'value2')
    ...
    break;
    
  default:
    ...
    break;
    
    
}

예시

let a = 2 + 2;

switch(a) {

  case 3:
    alert('비교하려는 값보다 작습니다');
    break;
    
  case 4:
    alert('비교하려는 값보다 작습니다');
    break;
    
  case 5:
    alert('비교하려는 값보다 작습니다');
    break;
    
  default:
    alert('값을 입력하세요!');
}

만약 break문이 없다면 어떻게 될까요?

case문 안에 break문이 없으면 조건에 부합하는지 따지지 않고 이어지는 case문을 실행합니다!

let a = 2 + 2;

switch (a) {
  case 3:
    alert('비교 값보다 작습니다');
 case 4:
    alert('비교 값과 일치합니다.');
 case 5:
    alert('비교 값보다 큽니다');
 default:
    alert('값을 입력해주세요!');
}

위 예시를 실행하면

alert('비교 값과 일치합니다.');
alert('비교 값보다 큽니다.');
alert('값을 입력해주세요!');

case문 묶기

let a = 3 + 1;
switch (a) {
  case 4:
    alert('계산이 맞습니다');
    break;
    
  case 3:
  case 5:
    alert('계산이 틀려요');
    alert('바보십니까?');
    break;
    
  default:
    alert("error");

}

자료형 주의! (prompt -> 문자열)

let arg = prompt("값을 입력해주세요.");

switch (arg) {
  case '0':
  case '1':
    alert('0이나 1을 입력했습니다');
    break;
    
  case '2':
    alert('2를 입력했습니다.');
  	break;
  case 3:
    alert(' 이 코드는 실행되지 않습니다!'); //자료형이 달라서 실행되지 않습니다.
    break;
  
  default:
    alert('error');

}

3은 숫자형이고 prompt 입력값은 문자형입니다.

profile
👨‍💻github.com/pos1504 💌pos1504@gmail.com 🙋‍♂️https://www.linkedin.com/in/%EC%84%B8%ED%98%95-%EC%A0%95-68067b287/

0개의 댓글