타입 확장하기
-
extends, 교차타입, 유니온타입을 사용하여 타입 확장
-
장점 : 코드중복을 줄임
-
extends 타입은 동일속성에대해 확장되어지지 않는다.
-
교차타입은 동일속성에 대해 호환되지 않는 타입일경우 never 타입이 됨.
타입좁히기
typeof, instanceof, in 연산자를 사용하여 특정 타입값을 가질수밖에없는 상황을 유도
-
원시타입 : typeof
-
인스턴스화된 객체타입 : instanceof
- A instanceof B 형태 → A는 타입을 검사할 대상변수 B는 특정 객체의 생성자
-
객체의 속성이 있는지 : in
- A in B → A의 속성이 B의 객체에 있는지
-
타입 명제인 함수를 정의 : A is B
- A is B → A는 매개변수이름, B는 타입 → 참/거짓으로 참일때 A의 매개변수타입을 B타입으로 취급
-
식별할수 있는 유니온
- 타입안에 식별할수있는 유니온 타입을 생성하여 판별 ex) errorType : ‘TEXT’ | ‘TOAST’ | ’ALERT’ ….
- 식별할수 있는 유니온의 판별자는 unit type이여야만함
-
exhaustiveness Checking
- 모든 케이스에 대해 철저하게 검사 하여 분기처리 해주지 않았을때 컴파일타임 에러를 발생시킴