28-1. 유효한 상태와 무효한 상태를 둘 다 표현
28-2. 유효한 상태만 표현
declare
키워드란?Pick
Omit
제네릭이란?29-1. 매개변수 타입(사용)은 넓은 범위, 반환 타입(생성)은 좁은 범위여야 한다.
30-1. 주석에 타입 정보를 적지 않는다.
@param
구문 사용하기readonly
사용하기30-2. 변수명에 타입 정보를 넣지 않는다.
31-1. 한 값의 null
여부가 다른 값의 null
여부와 암시적 연관이 있으면 안된다.
31-2. API 작성 시에는 반환 타입이 null
이거나 null
이 아니도록 만들기
null
과 null
이 아닌 값을 섞어서 사용하는 것을 피하기null
이거나 null
이 아니도록 만들기31-3. 클래스 생성 시 필요한 값이 준비되었을 때 생성하여 null
이 존재하지 않도록 하기
32-1. 인터페이스의 유니온 사용하기
32-2. 타입에 태그 넣기
undefined
인 경우에도 태그된 유니온이 유리하다