자바스크립트 Ternary 연산자와 switch문의 비교

자바스크립트에서 조건에 따라 다른 결과를 반환해야 할 때 Ternary 연산자(삼항 연산자)와 switch문을 사용할 수 있습니다. 이 두 가지 방법을 비교하여 어떤 경우에 어떤 방법을 사용해야 하는지 살펴보겠습니다.

Ternary 연산자

Ternary 연산자는 다음과 같은 구문을 가지고 있습니다.

condition ? expression1 : expression2

condition이 참(true)인 경우 expression1이 실행되고, condition이 거짓(false)인 경우 expression2가 실행됩니다. 이 연산자는 간단한 조건문을 한 줄로 표현할 때 유용합니다.

예를 들어, 숫자 x가 음수인지 양수인지 확인하여 해당 값을 출력하는 예제를 살펴보겠습니다.

const x = -5;
const result = x >= 0 ? "양수입니다." : "음수입니다.";
console.log(result); // 출력: "음수입니다."

Ternary 연산자는 간결하고 한 줄로 표현할 수 있기 때문에 간단한 조건문에 적합합니다.

switch문

switch문은 다음과 같은 구문을 가지고 있습니다.

switch(expression) {
  case value1:
    // 실행할 코드
    break;
  case value2:
    // 실행할 코드
    break;
  default:
    // 실행할 코드
}

expression의 값과 case문의 값이 일치하는 경우 해당 case문 아래의 코드가 실행되고, break문을 만나면 switch문을 종료합니다. 만약 일치하는 값이 없는 경우 default문의 코드가 실행됩니다.

switch문은 if-else if-else 문을 대체할 수 있고, 여러 가지 조건을 비교해야 할 때 유용합니다.

예를 들어, 요일을 숫자로 입력받아 해당 요일의 이름을 출력하는 예제를 살펴보겠습니다.

const dayOfWeek = 3;
let dayName;

switch (dayOfWeek) {
  case 1:
    dayName = "월요일";
    break;
  case 2:
    dayName = "화요일";
    break;
  case 3:
    dayName = "수요일";
    break;
  //...
  default:
    dayName = "잘못된 입력입니다.";
}

console.log(dayName); // 출력: "수요일"

switch문은 여러 값을 비교해야 할 때 명시적이고 가독성이 좋은 방법입니다.

비교

Ternary 연산자와 switch문은 각각 장단점을 가지고 있습니다. Ternary 연산자는 간단한 조건문을 한 줄로 표현할 수 있어 코드가 간결해지지만, 복잡한 조건문에는 적합하지 않을 수 있습니다. switch문은 여러 가지 값을 비교하고 다양한 조건 분기가 필요한 경우에 유용합니다.

따라서, 간단한 조건을 처리할 때는 Ternary 연산자를 사용하고, 복잡한 조건 분기가 필요한 경우에는 switch문을 사용하는 것이 좋습니다.

결론

자바스크립트에서 조건에 따른 분기를 처리하기 위해 Ternary 연산자와 switch문을 사용할 수 있습니다. 간단한 조건일 경우 Ternary 연산자를 사용하여 코드를 간결하게 작성할 수 있고, 복잡한 조건 분기가 필요한 경우에는 switch문을 사용하여 코드를 명시적으로 작성하는 것이 좋습니다.

#참조