[모던 JS 튜토리얼] 2.14. switch문

승연·2023년 11월 18일
0
post-thumbnail

복수의 if문 → switch문으로

2.14.1. 문법

보통 하나 이상의 case문으로 구성됨

<script>

      switch (key) {
         case 'value1':
            
            break;
				
         case 'value2':
      
         default:
            break;
      }

   </script>
  • 변수 xvalue1을 일치 비교, 후에 value2와 일치 비교,,,
  • case문에서 변수 x의 값과 일치하는 값을 찾으면 해당 case 문의 아래의 코드가 실행됨.
  • break 문이나 switch문이 끝나면 코드 실행 멈춤
  • 값과 일치하는 case문이 없다면 default 아래의 코드가 실행 됨 (default 문이 존재할 때)

2.14.2. ex

<script>

      let a = 2 + 2;
      switch (a) {
         case 3:
            alert('비교하려는 값보다 작음');
            break;
         
         case 4:
            alert('비교하려는 값과 일치');
            break;
         
         case 5: 
            alert('비교하려는 값보다 큼');
            break;
      
         default:
            alert('어떤 값인지 파악되지 않음');
      }

   </script>

break문을 삭제하면 case 4 이후 모든 alert문이 실행됨

2.14.3. 여러 개의 case 문 묶기

코드가 같은 case문은 묶을 수 있음

case3, case5

<script>

      let a = 3;
      switch (a) {
         case 4:
            alert('계산이 틀림');
            break;
         
         case 3: 
         case 5:
            alert('계산이 틀림');
            alert('수학 수업 다시 들으세요');
            break;
      
         default:
            alert('계산 결과가 이상해요');
      }

   </script>

2.14.4. 자료형의 중요성

비교하려는 값과 case 문 값의 형과 값이 같아야 해당 case문이 실행됨

<script>

      let arg = prompt('값을 입력해 : ');
      switch (arg) {
         case '0':
         case '1':
            alert('0이나 1이네');
            break;

         case '2':
            alert('2 입력했네');
            break;
         
         case 3: 
            alert('실행 안돼요');
            break;
      
         default:
            alert('뭔 값 입력하심');
      }

   </script>

→ prompt 함수는 사용자가 입력 필드에 기재한 값을 문자열로 변환해 반환하기에 숫자 3을 입력하더라도 prompt 함수는 문자열 ‘3’을 반환함

profile
앙녕항셍용

0개의 댓글