삼항 연산자는 간단한 조건 분기엔 유용하지만,
조건이 많아질수록 가독성이 떨어지고 유지보수가 어려워집니다.
예를 들어 아래 코드를 보면:
const example = data?.serviceId
? data?.servicePlan[0]
: data?.servicePlan.find((data) => data.code === selectCode);
return (
example ||
data?.servicePlan.find((data) => data.category === Category.EXAMPLE)
);
조건이 중첩되어 있어, 한눈에 로직을 파악하기 어렵습니다.
✅ switch ~ case 문으로 리팩토링해보자
위 코드를 switch (true) 패턴을 활용해 다음과 같이 바꿀 수 있습니다:
switch (true) {
case !!data?.serviceId:
return data?.servicePlan[0];
case !!code:
return data?.servicePlan.find(
(data) => data.code === selectCode,
);
default:
return data?.servicePlan.find(
(data) => data.category === Category.EXAMPLE,
);
}
이렇게 바꾸면 조건별 흐름이 명확하게 분리되어,
📌 가독성이 향상되고
🔧 유지보수도 쉬워집니다.
결과는 동일하지만, 더 읽기 좋은 코드가 됩니다.
'개발' 카테고리의 다른 글
forEach는 함수입니다 (0) | 2023.08.18 |
---|---|
자바스크립트 관련 깃허브 (0) | 2023.08.17 |
자바스크립트 배열 요소 랜덤 선택하기 (0) | 2023.05.07 |
useMemo를 사용해서 불필요한 연산 줄이기 (0) | 2023.05.06 |
Array.some() (0) | 2023.03.29 |