왜 나는 긴 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를 사용해 코드를 더 깔끔하게 만들 수 있습니다.