TypeScript

Best Practice
strict 모드를 true 로 해라
default 로 TypeScript 는 strice mode 를 사용하지 않는다. 아직 프로젝트가 완전히 TypeScript 화 되지 않았을 때는 strict mode false 가 유용할 수 있다. (ex - JacaScript 파일의 일부만 TypeScript 로 변경). 하지만 이것은 자바스크립트에서 많은 버그들이 TypeScript 에서 걸리진 않는다.
stirict mode 를 true 로 하지 않으면 TypeScript 는 모든 매개 변수 및 변수에 대해서 null, undefined 를 지정할 수 있도록 할 수 있게 한다.(any) 코드의 가독성 및 개발의 생산성 향상 측면에서 TypeScript 의 장점을 제대로 누리기 위해서 strict 를 true 로 하는 것이 좋다.
tsc 대신에 babel 을 사용한다
바벨 7 버젼 이후로 TypeScript 가 지원된다. tsc 를 통해서가 아니라도 JavaScript 파일로 변환시킬 수 있다.
babel 은 tsc 보다 빠를 뿐만 아니라, 바벨 생태계의 다른 시스템들도 사용할 수 있다.
ESLint 를 사용해라. tslint 는 deprecated 되었다
Do's and Don'ts
primitive 타입을 사용해라
Number, String, Boolean 등은 primitive 한 타입을 표현하지 않는다. Object 또한 TypeScript 에서 object 가 추가되었으니 object 를 사용하자
/* WRONG */ function reverse(s: String): String; /* OK */ function reverse(s: string): string;
JavaScript
return type 으로 any를 사용하지 않는다
/* WRONG */ function fn(x: () => any) { x(); } /* OK */ function fn(x: () => void) { x(); } function fn(x: () => void) { var k = x(); // oops! meant to do something else k.doSomething(); // error, but would be OK if the return type had been 'any' }
JavaScript
void 를 사용하는게 예상치 못한 값을 return 하는 것보다 안전하기 때문이다.
참조