삼항 연산자를 작성할 때, fallback으로 사용되는 값의 위치 #98
devKangMinHyeok
started this conversation in
A vs B
Replies: 3 comments
-
개인적으로는 truthy 한 조건이 먼저 와야한다고 생각합니다. 그래서 B 보단 A가 더 낫다고 보고, A 보다도 isDate(date) ? format(date) : "날짜를 지정해주세요" 가 더 낫다고 생각합니다. |
Beta Was this translation helpful? Give feedback.
0 replies
-
저는 아래와 같은 rule로 작성합니다. condition ? valueIfTrue : valueIfFalse
// 일반적인 사용
const userName = user?.name ?? "Anonymous"
const status = isActive ? "Online" : "Offline"
// 중첩된 경우
const display = isDark
? isPrimary ? "dark-primary" : "dark-secondary"
: isPrimary ? "light-primary" : "light-secondary"
추가로 저는 삼항 연산자의 흐름을 생각하며 condition의 변수명을 정하는 편입니다. |
Beta Was this translation helpful? Give feedback.
0 replies
-
부정( |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
A
B
위와 같은 예제 코드가 있을 때, 이런 고민을 해보신 적 있으신가요?
저는 date를 formatting 한 dateString을 보여주고 싶습니다. 만약 date가 undefined 일때는 fallback을 보여주도록 하고 싶습니다.
이때 A처럼 작성할 수도 있지만, B 처럼 작성한다면, "원래 내가 얻고 싶은 값"을 먼저 읽을 수 있고, "만약 그럴 수 없는 상황일 때 fallback이 무엇인지" 의 순서로 읽을 수 있게 됩니다. 이게 코드를 읽을 때 조금 더 잘 읽힌다고 생각했습니다.
그런데 한편으로는 "원래 내가 얻고 싶은 값" -> "만약 그럴 수 없는 상황일 때 fallback이 무엇인지" 의 순서를 맞추기 위해, 불필요하게 조건에
!
을 붙여야한다는 점이 아쉬운 부분이라고 생각했습니다.물론 코드 구조에 따라서 조건에 들어가는 boolean 값을 따로 빼서 사용하거나, 함수라면 early return을 사용하는 등의 방식으로 위 문제가 없게 만들 수도 있겠습니다. 그런데, 만약 위와 같이 삼항으로 간단하게 코드를 구성하는 것이 최선이라 판단한 상황일 때 어떤 선택을 하시는지 생각해주시면 감사하겠습니다.
여러분들의 의견은 어떠신가요?
이 외에도 삼항 연산자를 사용하면서 가독성과 관련된 어떤 고민들을 하고 계신가요?
63 votes ·
Beta Was this translation helpful? Give feedback.
All reactions