5. 자바스크립트 switch문

2024. 10. 23. 16:13·백엔드/자바스크립트
자바스크립트에서 switch 문은 여러 조건을 처리할 때 유용한 조건문입니다. if...else와 유사하지만, 여러 값을 비교해야 할 때 더 가독성 있고 효율적으로 사용할 수 있습니다. 특히 값이 많을 때 if...else보다 코드가 깔끔하게 정리 됩니다.

1. switch 문 기본 구조

switch문은 하나의 표현식을 평가하고, 그 결과와 일치하는 case 블록을 실행합니다. 각 case는 비교할 값을 지정하고, 일치할 경우 해당 코드가 실행됩니다. default는 어떤 case도 만족하지 않을 때 실행되는 블록입니다.

switch (expression) {
    case value1:
        // value1과 일치할 때 실행될 코드
        break;
    case value2:
        // value2와 일치할 때 실행될 코드
        break;
    default:
        // 어떤 case도 만족하지 않을 때 실행될 코드
}

 

2. switch문 예시

(1) 요일 출력 

let day = 3;

switch (day) {
    case 1:
        console.log("월요일");
        break;
    case 2:
        console.log("화요일");
        break;
    case 3:
        console.log("수요일");
        break;
    case 4:
        console.log("목요일");
        break;
    case 5:
        console.log("금요일");
        break;
    default:
        console.log("주말입니다!");
}
  • 이 예시에서 day값이 3이므로, case 3에 해당하는 "수요일"이 출력됩니다.
  • break는 조건이 맞았을 때 실행을 중단하고 switch 블록을 빠져나가는 역할을 합니다. 만약 break가 없으면 다음 case블록도 연달아 실행되므로, 이를 방지하기 위해 break를 반드시 사용합니다.

(2) default 활용

switch문에서 모든 case가 만족하지 않을 경우, default 블록이 실행됩니다. 이는 예외 상황을 처리할 때 유용합니다.

let fruit = "apple";

switch (fruit) {
    case "banana":
        console.log("바나나입니다.");
        break;
    case "orange":
        console.log("오렌지입니다.");
        break;
    default:
        console.log("알 수 없는 과일입니다.");  // 출력: 알 수 없는 과일입니다.
}

(3) break가 없는 switch문

break를 사용하지 않으면, fall-through라는 현상이 발생합니다. 즉, 일치하는 case를 찾은 후에도 그 아래의 모든 case블록이 실행됩니다. 이 기능은 여러 case에 동일한 로직을 적용할 때 유용합니다.

let score = 'A';

switch (score) {
    case 'A':
    case 'B':
        console.log("우수한 성적입니다.");  // 출력: 우수한 성적입니다.
        break;
    case 'C':
    case 'D':
        console.log("보통 성적입니다.");
        break;
    default:
        console.log("성적을 다시 확인해주세요.");
}

위 예시에서 score가 'A'이기 때문에, case 'A'와 case 'B'가 동일한 메시지를 출력합니다. 이렇게 여러 case에 같은 로직을 적용할 때 의도적으로 break를 생략할 수 있습니다.


💫 결론
자바스크립트의switch문은 다양한 조건을 처리할 때 if...else 보다 더 가독성 높고 효율적으로 코드를 작성할 수 있게 해줍니다.
break를 사용하여 중복 실행을 방지하고, fall-through 패턴을 활용하면 여러 조건에 동일한 로직을 적용할 수 있습니다.
switch문은 숫자뿐만 아니라 문자열, 표현식 평가에서도 활용 가능하며, 이를 통해 코드의 가독성과 성능을 모두 개선할 수 있습니다.

 

'백엔드 > 자바스크립트' 카테고리의 다른 글

4. 자바스크립트 반복문  (0) 2024.10.23
3. 자바스크립트 논리 연산자 (Logical Operators)  (0) 2024.10.23
2. 자바스크립트 연산자와 조건문  (0) 2024.10.21
1. 자바스크립트 변수와 데이터 타입  (0) 2024.10.21
'백엔드/자바스크립트' 카테고리의 다른 글
  • 4. 자바스크립트 반복문
  • 3. 자바스크립트 논리 연산자 (Logical Operators)
  • 2. 자바스크립트 연산자와 조건문
  • 1. 자바스크립트 변수와 데이터 타입
작은응애
작은응애
응애부터 으른까지 나의 성장일지
  • 작은응애
    응애개발
    작은응애
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (7)
      • GitHub (0)
      • 백엔드 (5)
        • 자바스크립트 (5)
        • Node.js (0)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JavaScript
    조건문
    js
    변수
    자바스크립트
    논리 연산자
    switch
    반복문
    데이터타입
    연산자
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
작은응애
5. 자바스크립트 switch문
상단으로

티스토리툴바