JavaScript - switch문

김민찬·2022년 5월 21일
0

JavaScript

목록 보기
13/23
post-thumbnail

switch문은 필수?

JS에서 switch문을 사용은 필수사항이 아니다.
If...else라는 아주 강력한 조건문이 있기 때문이다.

그러면 왜 switch문을 알아야하는가?

하지만 위의 이유로 인해서 switch문을 몰라도 된다?
그건 매우 안좋은 생각이다.

  • 우리는 많은 협업으로 다른 이의 코드를 읽을때 그리고 자신의 오래된 코드를 읽을때 정리가 안되어 있으면 많은 시간을 들이고, 이해하는데 어려움을 느낀다.
  • 함수형 프로그래밍에서 선언형 함수를 강조하는 이유도 위와 같다.

switch문은 특정 상황(조건문이 매우 많을 때)에서 if...else문 보다 가독성이 압도적으로 뛰어나다.

switch문의 4가지 마법

아래 4가지 마법을 읽는데 참고하기 쉽게 기본적인 표현식을 작성해봤다.

  • 참고자료: 모던자바스크립트 Deep Dive - 이웅모 지음
switch (표현식) {
  case 표현식1:
    표현식과 표현식1이 일치하면 실행되는 문;
    break;
  case 표현식2:
    표현식과 표현식2가 일치하면 실행되는 문;
    break;
  default:
    표현식과 일치하는 case 문이 없을때 실행되는 문;
}

1. switch

이름부터 switch문이기 때문에 switch가 등장한다.

  • switch의 괄호에는 표현식이 들어가고 이 표현식으로 분기가 나뉘게 된다.

2. case

  • switch문의 괄호 안에 들어있는 표현식에서 하나의 분기가 되어주는 이정표라고 생각하면 된다.
  • switch의 괄호안에 들어있는 표현식과 각각의 case에 들어있는 표현식이 일치하는 것을 찾으면 : 다음에 있는 문이 실행된다.

3. break

  • if...else문의 break와 일치한다.
  • break문은 탈출문으로 break를 만나게 되면 switch문이 중단된다.
  • 일반적으로 default 문에는 break문을 생략한다. 그 이유는 일반적으로 default문은 switch문의 맨 마지막에 위치함으로 별도의 break문이 필요하지 않다.

4. default

  • default문은 필수가 아니다. 선택사항이지만 에러핸들링을 위해서라도 사용하는 것을 추천한다. (예시로, 일치하는 것이 없으면 console.log('일치하는 값이 없습니다.'))
  • default문은 가독성을 위해 모든 case가 끝난 후 작성하는 것을 추천한다.
profile
두려움 없이

0개의 댓글