#47 Public API에 등장하는 모든 타입을 export하기
·
✏️ Study/🧽 JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍요약 ✅퍼블릭 API에 코드가 노출되면 타입을 추출하는 방법은 무궁무진하다 - 따라서 사용 편의성을 위해 가능한 모든 타입을 export 해주는 것이 좋다 📍라이브러리 사용자가 타입 정보를 직접 작성해야 한다면 ✅일반적으로 모든 타입 정보가 잘 export 되어야 하지만, 그렇지 않다면, 명시적으로 작성해야 한다 ✅타입 정보를 추출할 도구가 많기 때문에 의도적으로 타입 정보를 숨기는 것은 불가능하다 예시) ReturnType, Parameters 제네릭 타입을 활용해 타입 정보를 추출 // export하지 않은 인터페이스 interface SecretName { first: string; last: string; } interface SecretS..
#46 타입 선언과 관련된 세 가지 버전 이해하기
·
✏️ Study/🧽 JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍요약 ✅@types 의존성 관련 3가지 버전 - 개별 라이브러리 버전 - 그 라이브러리들의 @types 버전 - typescript 라이브러리 버전 ✅라이브러리를 업데이트하는 경우, 해당 @types 역시 업데이트해야 함 ✅TS로 작성된 라이브러리 : 타입 선언을 자체적으로 포함 ✅JS로 작성된 라이브러리 : DefinitelyTyped에 타입 선언을 공개하여 커뮤니티 차원에서 유지 보수 📍실제 라이브러리와 타입 모듈의 버전이 다른 경우 예) 타입 선언의 버전이 더 빠른 경우 react@16.8.6 @types/react@16.8.19 => 타입 정보의 버전이 더 빠름 ✅단순히 patch 버전만 다르기 때문에, 타입 선언을 업데이트할 필요는 없지만..