왜 나는 긴 switch 블록 대신 rswitch를 사용하는가

발행: (2026년 2월 3일 오전 07:31 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

설치

npm i rswitch

기본 아이디어

rswitch에 전달하는 것:

  • (확인하고 싶은 값)
  • 케이스 객체 (각 케이스마다 반환할 값)
  • 선택적인 옵션 객체

간단한 예시

import rswitch from "rswitch";

const role = "dev";

const result = rswitch(role, {
  designer: "Designer",
  "dev, web": "Freelancer", // match many keys
  "": "Unknown",            // default case
});

console.log(result); // Freelancer

✅ 팁: "" (빈 문자열)은 기본 케이스입니다.

예시 1: 상태 코드를 처리하기 (깨끗하고 명확하게)

import rswitch from "rswitch";

function statusMessage(code) {
  return rswitch(code, {
    "200, 201, 204": "✅ Success",
    "400, 401, 403": "⛔ Client error",
    "500, 502, 503": "🔥 Server error",
    "": "🤷 Unknown status",
  });
}

console.log(statusMessage(503)); // 🔥 Server error

break도 없고, fall‑through도 없으며, 읽기 쉽습니다.

예시 2: 함수를 액션으로 실행하기

액션은 값이 될 수도 있고 함수가 될 수도 있습니다.

import rswitch from "rswitch";

const command = "build";

const result = rswitch(command, {
  build: () => "Building...",
  test: () => "Testing...",
  "": () => "Use: build or test",
});

console.log(result); // Building...

rswitch가 많은 케이스의 switch보다 나은 이유

  • 코드가 짧아짐
  • 읽기 쉬움
  • "dev, web"처럼 여러 케이스를 한 줄에 묶을 수 있음
  • 기본 케이스가 간단: ""
  • JavaScript와 TypeScript 모두에서 훌륭하게 동작

switch 문이 길어지고 있다면, rswitch를 사용해 코드를 더 깔끔하게 만들 수 있습니다.

Back to Blog

관련 글

더 보기 »