변수, 매개변수, 반환값에 타입을 붙여라.

타입 추론을 적극 활용하자

리터럴 타입

배열의 타이핑

튜플: 배열의 각 자리에 타입을 고정하기

타입으로 쓸 수 있는 것 vs 없는 것

유니언 타입 ( | )

타입스크립트에만 있는 타입 (any, unknown, void, {}, never)

타입 별칭 (type alias)

인터페이스 (interface)

객체의 속성과 메서드에 적용되는 특징 (Interface[’prop’], [key in keyof Interface])

타입을 집합으로 생각하자 (유니언 | , 인터섹션 &)

타입의 상속 (extends)

객체 간에 대입할 수 있는지 확인하는 법 (넓은 타입 vs 좁은 타입)

제네릭으로 타입을 함수처럼 사용하기 (<T>)

컨디셔널 타입 (T extends U ? A : B)

함수와 메서드의 타이핑

같은 이름의 함수를 여러 번 선언하기 (overload)

콜백 함수의 매개변수는 생략 가능하다

공변성 vs 반공변성: 함수끼리 대입하기