Replies: 3 comments
-
안녕하세요 @stakbucks 님, 의견 올려주셔서 감사해요. :) 저는 예측 가능성 관점에서 봤을 때, 코드는 작성한 사람의 의도가 정확하게 드러나는 것이 중요하다고 생각해요. 그런데 또한 코드의 의도를 명확하게 표현하고, 오류의 가능성을 줄이기 위해서는 불리언 값만 사용하는 게 맞지 않을까 의견을 남겨봅니다! |
Beta Was this translation helpful? Give feedback.
-
사람에 따라 차이가 있긴 하겠으나 저는 암묵적 타입 변환을 하는 것이 의도가 불명확하다 생각 하지 않아요. 그래서 때에 따라 이용해도 괜찮다는 의견이에요. 저에게는 오히려 암묵적 타입 변환을 쓰면 괜찮냐/안괜찮냐 기준은 명확/불명확보다 오류의 가능성에 초점을 맞추면 좋을거 같아요. value가 특정 값이냐에 따라 로직을 처리해야한다면, 예제 상황 역시 그러한데, value가 없는(undefined) 경우에 early return 을 하고 싶은 상황이라면 가끔은 암묵적 타입 변환을 사용하고, 가끔은 명시적 타입 변환을 사용하는 게 오락가락한다면 통일성을 헤치는데요. 이것이 약간 불편(?)하시다면 차라리 es-toolkit 등에서 제공하는 |
Beta Was this translation helpful? Give feedback.
-
코드를 읽는 과정에서 개발자는 여러 혼란을 맡게 되는데요. 코딩언어에 대한 지식이 부족하다든지, 도메인에 대한 지식이 부족하다든지, 개인의 인지능력의 부족이라든지, 모두가 개발자의 처리능력을 조금씩 소모하는 행동이라고 생각합니다. (물론 저만의 생각은 아니고 '프로그래머의 뇌' 라는 책에서 봤습니다) 당연하게도 이 글을 읽으시는분들은 자바스크립트의 암묵적 타입변환에 대해서 알고 계시겠지만, 가끔 바로바로 그렇기에 |
Beta Was this translation helpful? Give feedback.
-
위와 같은 타입스크립트 코드에서, value가 없는(undefined) 경우에는 early return 을 하고 싶다고 했을 때 위와 같은 코드가 괜찮은 코드라고 생각하시나요?
value
가 불리언 타입이 아니기 때문에if (!value)
조건문은value
인자가 없는 경우를 체크하고 싶은지,""
와 같이 빈문자열인 경우를 체크하고 싶은지가 의도가 불명확하다고 생각합니다.따라서
if(value===undefined)
와 같은 코드가 더 의도가 명확하다고 생각해요.하지만 위 예시처럼 작성되있는 코드를 하루에도 수 차례 볼 있어요. 여러분들은 어떻게 생각하시는지 궁금해요.
202 votes ·
Beta Was this translation helpful? Give feedback.
All reactions