ECMAScript 모듈과 ES2015 클래스 기능을 사용해 자바스크립트 코드를 작성해야한다.
파일 상단에 //@ts-check
를 사용하여 타입스크립트 전환시 어떤 문제가 발생하는지 미리 시험해볼 수 있다. 하지만 매우 느슨하게 체크하기에 주의해야한다.
@ts-check를 사용하면 다음과 같은 오류를 찾아낼 수 있다.
JSDoc 스타일의 주석을 통해서도 타입 체커가 가능하지만 최종적인 목표는 .ts
파일로 변환하는 것임을 잊지 말아야한다.
타입스크립트로 마이그레이션하는 것은 점진적으로 이루어지는 작업이기 때문에 자바스크립트와 타입스크립트가 동시에 동작하기 위해서는 allowJs 컴파일러 옴션을 사용해야한다. allowJs 컴파일러는 타입스크립트 파일과 자바스크립트 파일이 서로를 임포트 할 수 있게 해준다.
대규모 마이그레이션 작업을 시작하기 전에, 테스트와 빌드 체인에 타입스크립트를 적용해야한다.
자바스크립트를 타입스크립트로 전환할때에는 다른 모듈에 의존하지 않는 최하단 모듈부터 작업을 시작해서 의존성의 최삳단에 있는 모듈을 마지막으로 작업해야한다.
서드파티 라이브러리 타입정보를 먼저 해결해야한다. 일반적으로는 @types 모듈을 설치하면된다.
외부 API를 호출할 경우 API 타입정보를 생성해야한다(아이템 35)
아이템 59에 이어서 타입스크립트로 전환시 발생하는 오류는 다음과 같다.
최종적으로 noImplicitAny
를 설정하여 암시적 any타입이 발생하지 않도록한다.(아이템5) 제일 강력한 설정은 noImplicitAny
, strictNullChecks
도 포함하고 있는 strict : true
이다. (아이템 2)
따라서 처음부터 타입스크립트로 개발한다면 strict : true
설정을 켜두고 개발하는 것이 좋다.