🐹 TIL/Daily

[TIL : 230529]

드림오구 2023. 5. 30. 02:30

🌊 TIL : 2023년 5월 29일  

 

오늘 한 것

  • type script 강의 듣기
  • type script 핸드북 읽기

 

잘한 점

상황

오늘은 타입스크립트 문법에 대해 주로 공부하였다. 사실 type 별거 아니지! 싶었는데 생각보다 까다로웠고 여러가지 경우의 수를 찾아보느라 시간이 오래 걸렸다.

 

액션

아주 간단한 함수지만 요즘 자꾸 GPT에 의존하게 되는 내 모습을 경계하고 있었는데

이론 공부 후에 스스로 코드를 짜보려고 노력하였다.

 

칭찬

넌.. 최고의 오구야..

 

배운 점

배움

object나 any, enum 타입을 보며 여러 가지를 포괄하는 개념이니 사용하면 굉장히 편하겠네? 라는 생각을 하였는데 강의를 들으며 그것이 타입스크립트가 추구하는 방향성과는 맞지 않는다는 것을 깨달았다.

 

또, 솔로프로젝트 중 내가 받은 코드 리뷰는 아니지만 동기분들이 받은 코드 리뷰에서 크루님이 enum에 대해 남겨주신 것을 보고 enum이 이 녀석이구나! 하였다. 헌데 type script에서 enum에 대해 많은 의견이 있다는 것을 알게 되고 찾아보니 값이 재할당이 된다는 점과,  Tree-shaking이 되지 않는다고 꼬집는 글들도 보게 되었다.

 

Tree-shaking 관련 글

 

TypeScript enum을 사용하지 않는 게 좋은 이유를 Tree-shaking 관점에서 소개합니다.

들어가며 안녕하세요. LINE Growth Technology UIT 팀의 Keishima(@pittanko_pta)입니다. 이번 글에서는 TypeScript의 enum을 사용하지 않는 편이 좋은 이유를 Tree-shaking 관점에서 소개하겠습니...

engineering.linecorp.com

 

그러나 공부 중에 예시 코드를 치다가 알게된 점인데, 타입스크립트 이전 버전에서는  enum으로 타입이 지정된 변수 값을 재할당을 할 수 있다는 점이 enum을 지양해야하는 점 중 하나였는데 23년 3월 16일에 배포 된 타입스크립트 5.0 버전부터는 올바르지 않은 문법으로 오류가 떠서 수정된 것으로 보인다 ! 하지만 여전히 해결되지 않은 부분이 있기 때문에 아직은 Uinion Type을 선호하는 분위기다.

enum Rainbow {
 Red
 Orange
 ...
 Purple
}

let color: Rainbow = Rainbow.Purple
console.log(color) // 6
color = 59; // 타입스크립트 5.0 버전부터는 오류가 출력된다.
// Type '59' is not assignable to type 'Rainbow'.
 

Announcing TypeScript 5.0 - TypeScript

Today we’re excited to announce the release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript smaller, simpler, and faster. We’ve implemented the new decorators standard, added functionality to better support ESM

devblogs.microsoft.com

 

오늘 배움의 의미

정보를 크로스체킹 하게 되었다.

 

개선점

문제

오래 걸려..!! 급할수록 돌아가라지만.. 맘이 초조하다. 사실 맨날 이 문제를 꼽는 것 같다 ㅠㅠ 

 

원인

집중해서 열심히 하자

 

해결 방법

정신 수련