타입스크립트를 사용하다보면, 더 정확한 타입 추론을 위해 함수의 파라미터를 string, number 따위 대신 리터럴로 받고 싶어질 때가 있다. 굉장히 인공적인 예시이지만 다음 예시를 살펴보자. 타입을 리터럴로 받고 싶은 상황의 예시 function returnTypeofString(name: string) { return name; } // both types are string 🤯 const res = returnTypeofString("abc"); const res2 = returnTypeofString('John' as const); 나는 아주 강력한 타입 추론을 위해 res의 타입이 'abc'와 같이 나오길 원한다. 하지만 타입은 string으로 나오게 된다. 하지만 이런 상황에서 리터럴로 타..
오픈 소스 첫 기여를 했다. 동기 회사에서 쓰고 있는 라이브러리였는데, 옛날에 만들어진 데다가 좀 하꼬 라이브러리인지라 Javascript와 리액트 클래스 컴포넌트로 구성된 라이브러리였다. 옛날에는 그냥 CRA로 구성된 자바스크립트 프로젝트만 구축해왔기 때문에 상관 없었지만, 이제 나의 주도로 Next.js와 Typescript 환경에서 코딩을 하다보니 이런 문제점이 눈에 들어오기 시작했다. Typescript 프로젝트 에서 타입스크립트를 지원하지 않는 라이브러리를 사용하려면 declare module 이런 거를 해서 직접 타입을 적어줘야 해서 조금 귀찮은 부분이 있다. 또, 클래스 컴포넌트에서 componentWillReceiveProps 같이 deprecated된 api를 사용하고 있어서 매번 켤 때..