1. TS와 JS의 관계 이해하기

1-1. 타입스크립트는 자바스크립트의 상위집합이다

Untitled

1-2. 타입 시스템은 JS의 런타임 동작을 모델링한다

2. 타입스크립트 설정 이해하기

2-1. tsconfig.json 파일

2-2. 컴파일러 설정

명령어 설명
noImplicitAny • 타입을 지정하지 않았을 때 any 타입으로 간주되는 것 → 암시적 any
• 모든 변수에 타입을 지정하도록 함
strictNullChecks nullundefined가 모든 타입에서 허용되는지 확인
noEmitOnError • 타입체크에 오류가 있을 때 컴파일하지 않음
strict true 설정 시 모든 설정을 true

3. 코드 생성과 타입이 관계없음을 이해하기

3-1. 타입스크립트 컴파일러의 역할

두 역할은 독립적이다 !!!!

3-2. 타입 오류가 있는 코드도 컴파일이 가능하다

3-3. 런타임에는 타입 체크가 불가능하다

3-4. 타입 연산은 런타임에 영향을 주지 않는다

3-5. 런타임 타입은 선언된 타입과 다를 수 있다

3-6. 타입스크립트 타입으로는 함수를 오버로드 할 수 없다

3-7. 타입스크립트 타입은 런타임 성능에 영향을 주지 않는다

4. 구조적 타이핑에 익숙해지기

4-1. 자바스크립트는 덕타이핑 기반이다

4-2. 타입스크립트는 이를 모델링 하기 위해 구조적 타이핑 을 사용한다

4-3. 유닛테스트 작성에 유리한 구조적 타이핑

5. any 타입 지양하기

5-1. 타입 안전성이 없다

5-2. 함수 시그니처를 무시해 버린다

5-3. 언어 서비스가 적용되지 않는다

5-4. 리팩터링 때 버그를 감춘다

5-5. 타입 설계를 감춘다

5-6. 타입시스템의 신뢰도를 떨어뜨린다