JavaScript의 `switch` 문

BossTeemo·2024년 5월 4일
post-thumbnail

JavaScript에서의 switch

소개

switch 문은 주어진 표현식의 결과를 여러 경우(case)와 비교하여 일치하는 경우의 코드를 실행하는 제어 구조입니다. 복잡한 조건 대신 주로 특정 값에 대한 여러 가지 경우를 비교할 때 사용됩니다. switch 문은 if 문과 함께 조건을 분기하는 중요한 제어 구조입니다.

switch 문의 구조

switch 문은 특정 표현식을 평가하고, 각 경우에 따라 조건을 검사합니다. 기본 구조는 다음과 같습니다.

let value = 'banana';

switch (value) {
    case 'apple':
        console.log('This is an apple.');
        break;
    case 'banana':
        console.log('This is a banana.');
        break;
    case 'orange':
        console.log('This is an orange.');
        break;
    default:
        console.log('Unknown fruit.');
}
  • switch 표현식: switch 문은 먼저 표현식을 평가하여 그 결과를 기반으로 비교합니다.
  • case 라벨: 각 case는 평가된 표현식의 값과 비교할 값을 지정합니다. 값이 일치하면 해당 블록이 실행됩니다.
  • break: 일치하는 case 블록의 실행이 끝나면 break 문을 사용하여 switch 문을 종료하고, 이후의 다른 case 블록이 실행되지 않도록 합니다.
  • default 블록: 모든 case 블록과 일치하지 않을 경우 실행되는 코드를 지정합니다.

break

  • 역할: break 문은 switch 문에서 일치하는 case 블록의 실행을 마치면 switch 문을 종료합니다. 만약 break 문이 없으면 이후의 case 블록이 연달아 실행됩니다.

  • 실제 사용 예시

    let fruit = 'banana';
    
    switch (fruit) {
        case 'apple':
            console.log('Apple');
        case 'banana':
            console.log('Banana');
        case 'orange':
            console.log('Orange');
        default:
            console.log('Unknown');
    }
    // Banana
    // Orange
    // Unknown
    
    // 위 코드에서 `break` 문이 없으므로, 'banana' 이후 모든 블록이 실행됩니다.
    
    switch (fruit) {
        case 'apple':
            console.log('Apple');
            break;
        case 'banana':
            console.log('Banana');
            break;
        case 'orange':
            console.log('Orange');
            break;
        default:
            console.log('Unknown');
    }
    // Banana
    
    // 위 코드에서는 각 `case` 블록마다 `break` 문이 있으므로 하나의 블록만 실행됩니다.

if 문과의 차이점

  1. 비교 조건의 유연성

    • if 문은 복잡한 조건을 포함하여 다양한 논리식을 사용할 수 있습니다.
    let age = 20;
    if (age >= 18 && age <= 25) {
        console.log('Young adult');
    } else if (age > 25) {
        console.log('Adult');
    } else {
        console.log('Minor');
    }
  2. 다양한 데이터 타입의 처리

    • switch 문은 숫자, 문자열, 불리언 등 단순한 데이터 타입의 비교에 사용됩니다.
    let day = 2;
    
    switch (day) {
        case 1:
            console.log('Monday');
            break;
        case 2:
            console.log('Tuesday');
            break;
        case 3:
            console.log('Wednesday');
            break;
        default:
            console.log('Unknown day');
    }
  3. 가독성

    • switch 문은 다중 조건을 처리하는 데 코드의 가독성을 높입니다.
    • if 문은 복잡한 조건을 표현하는 데 적합하며, switch 문은 단일 변수의 여러 값을 비교하는 데 효과적입니다.

결론

switch 문은 단일 변수의 여러 값을 효율적으로 비교할 때 유용하며, 각 casebreak를 사용하여 코드 흐름을 제어합니다. 이를 활용하여 코드를 간결하고 효과적으로 작성하세요.

profile
1인개발자가 되겠다

0개의 댓글