삼항 연산자를 작성할 때, 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
-
A
B
위와 같은 예제 코드가 있을 때, 이런 고민을 해보신 적 있으신가요?
저는 date를 formatting 한 dateString을 보여주고 싶습니다. 만약 date가 undefined 일때는 fallback을 보여주도록 하고 싶습니다.
이때 A처럼 작성할 수도 있지만, B 처럼 작성한다면, "원래 내가 얻고 싶은 값"을 먼저 읽을 수 있고, "만약 그럴 수 없는 상황일 때 fallback이 무엇인지" 의 순서로 읽을 수 있게 됩니다. 이게 코드를 읽을 때 조금 더 잘 읽힌다고 생각했습니다.
그런데 한편으로는 "원래 내가 얻고 싶은 값" -> "만약 그럴 수 없는 상황일 때 fallback이 무엇인지" 의 순서를 맞추기 위해, 불필요하게 조건에
!
을 붙여야한다는 점이 아쉬운 부분이라고 생각했습니다.물론 코드 구조에 따라서 조건에 들어가는 boolean 값을 따로 빼서 사용하거나, 함수라면 early return을 사용하는 등의 방식으로 위 문제가 없게 만들 수도 있겠습니다. 그런데, 만약 위와 같이 삼항으로 간단하게 코드를 구성하는 것이 최선이라 판단한 상황일 때 어떤 선택을 하시는지 생각해주시면 감사하겠습니다.
여러분들의 의견은 어떠신가요?
이 외에도 삼항 연산자를 사용하면서 가독성과 관련된 어떤 고민들을 하고 계신가요?
52 votes ·
Beta Was this translation helpful? Give feedback.
All reactions