Item 44 타입 커버리지를 추적하여 타입 안전성 유지하기
noImplicitAny를 설정해도 위험은 남아있다
noImplicitAny
를 설정해 모든 암시적 any
대신 명시적 타입 구문을 추가해도 any
관련 문제는 남아 있을 수 있다.
명시적 any 타입 -
any
의 범위를 좁히고 구체적으로 만들어도 여전히any
타입이다.서드파티 타입 선언 -
@types
선언 파일로부터any
타입이 전파되므로 특별히 조심이 필요하다.
type-coverage 패키지를 활용하자
any
를 추적할 수 있다. 10,117개 심벌 중 9,985(98.69%)가 any
가 아니거나 any
의 별칭이 아닌 타입을 갖고 있음을 알 수 있다.
--detail
플래그를 붙이면 any
타입이 있는 곳도 출력할 수 있다.
서드파티 모듈로부터 오는 any
서드파티 모듈로부터 오는 any
타입은 몇 가지 형태로 등장한다.
declare module 'my-module'
과 같이 전체 모듈에any
타입을 부여하는 것타입에 버그가 있는 경우
Summary
noImplicitAny
가 설정되어 있어도 명시적any
또는 서드파티 타입 선언(@types
)을 통해any
타입은 코드 내에 여전히 존재할 수 있다는 점을 주의하자.작성한 프로그램의 타입이 얼마나 잘 선언되었는지 추적해야 한다. 추적함으로써
any
의 사용을 줄여 나갈 수 있고 타입 안전성을 꾸준히 높일 수 있다.
Last updated