연산이 정해진 데이터
계산은 number, 문장 조합은 string, 분기는
boolean으로 시작합니다.
타입 이름을 외우기보다 값이 하나인지, 묶음인지, 빈 값 가능성이
있는지부터 확인하면
any로 빠지는 일을 줄일 수 있습니다.
계산은 number, 문장 조합은 string, 분기는
boolean으로 시작합니다.
같은 종류가 반복되면 T[], 위치마다 의미가 다르면
[A, B] 튜플을 고릅니다.
실제로 없을 수 있는 값은 null 또는
undefined를 유니온으로 드러냅니다.
반환값이 없는 함수인가요?
Promise가 아니면 void값을 돌려주지 않는 의도를 호출부에 남깁니다.
실행될 수 없는 분기가 있나요?
never로 완전성 확인유니온 분기를 모두 처리했는지 컴파일러가 검증합니다.
형태를 아직 모르는 외부 값인가요?
unknown 후 좁히기
any 대신 검사 과정을 거치면 안전성이 유지됩니다.
값의 실제 범위, 가능한 연산, 결측 가능성, 컬렉션 구조를 차례로 묻고 가장 좁은 타입부터 붙입니다.