변수, 매개변수, 반환값에 타입을 붙여라.
타입 추론을 적극 활용하자
리터럴 타입
배열의 타이핑
튜플: 배열의 각 자리에 타입을 고정하기
타입으로 쓸 수 있는 것 vs 없는 것
유니언 타입 ( | )
타입스크립트에만 있는 타입 (any, unknown, void, {}, never)
타입 별칭 (type alias)
인터페이스 (interface)
객체의 속성과 메서드에 적용되는 특징 (Interface[’prop’], [key in keyof Interface])
타입을 집합으로 생각하자 (유니언 | , 인터섹션 &)
타입의 상속 (extends)
객체 간에 대입할 수 있는지 확인하는 법 (넓은 타입 vs 좁은 타입)
제네릭으로 타입을 함수처럼 사용하기 (<T>)
컨디셔널 타입 (T extends U ? A : B)
함수와 메서드의 타이핑
같은 이름의 함수를 여러 번 선언하기 (overload)
콜백 함수의 매개변수는 생략 가능하다
공변성 vs 반공변성: 함수끼리 대입하기