<aside>
💡 ts에서 의존성이 어떻게 동작하는지 설명하고, 의존성에 대한 개념을 잡아보자.
</aside>
item 45
- npm 내 의존성은 dependenices, devDependencies, peerDependencies로 나뉨.
- 이들의 구분은 런타임 사용 여부로 나뉘며, peerDependencies의 경우, 플러그인같이 런타임에 필요하지만 의존성을 직접 관리하지 않는 라이브러리들이 포함됨.
- npx tsc를 통해 devDependencies에 설치된 타입스크립트 컴파일러를 실행할 수 있음.
- 타입 정보가 포함되어 있지 않을 때, DefinitelyTyped (타입스크립트 커뮤니티에서 유지보수하고 있는 js 라이브러리 타입을 정의한 모음)에서 타입 정보를 얻을 수 있음.
item 46
- 타입스크립트 사용 시 타입 선언과 관련된 세 가지 고려사항이 있음.
- 라이브러리의 버전
- 라이브러리를 업데이트하는 경우 해당 타입 역시 업데이트 해야 함.
- 타입 선언 버전
- 타입스크립트로 작성된 라이브러리라면 타입 선언을 자체적으로 포함하고, js로 작성된 라이브러리라면 타입 선언을 DefinitelyTyped에 공개하는 것이 좋음.
- 타입스크립트 버전
npx install --save-dev @types/[email protected]
과 같이 특정 버전에 대한 타입 정보를 설치할 수 있음.
item 47
- 공개 API 매개변수에 사용되는 타입은 명시적으로 export 하자.
item 48

- 이 외에도
@param
, @returns
로 매개변수와 리턴값에 대한 정보, 간단한 마크다운도 주석으로 보여줄 수 있음.
- 다만 주석에 타입 정보를 쓰지 않도록 주의하자.