우아한 타입스크립트
목표
타입시스템 올바르게 사용하는 법
1. 작성자와 사용자
타입시스템
타입스크립트의 타입 시스템
타입추론에 의지하는 경우
number 타입으로 추론된 리턴 타입
2. interface와 type alias
이름기반으로 역할 분리 nominal type system
3. 서브 타입과 슈퍼 타입
공변성: 같거나 서브 타입인 경우 할당이 가능하다.
반병: 함수의 매개변수 타입만 같거나 슈퍼타입인 경우, 할당이 가능하다.
unknown은 any 대신
4. 타입 추론 이해하기
let과 const의 타입 추론 (+as const)
Best common type
Contextual Typing - 위치에 따라 추론이 다름
5. Type Guard 로 안전함을 파악하기
1. typeof Type Guard - 보통 Primitive 타입일 경우
2. instanceof Type Cuard
instanceof Type Guard를 많이 사용하는 경우 Error 처리
in operator Type Guard - object의 프로퍼티 유무로 처리하는 경우
literal Type Guard - object의 프로퍼티가 같고, 타입이 다른 경우
custom Type Guard
Class Property의 타입을 명시적으로 지정해야한다.
그러나 여전히 생성자를 벗어나지 못하면 추론되지 않는다.
Last updated