<aside>
🖥️
여러 가지 타입들
- 원시 타입 : 하나의 값만 저장하는 타입
- 리터럴 타입 : 값을 이용하여 타입을 지정
- 배열과 튜플
- 객체
- 타입 별칭
- 인덱스 시그니처
- Enum 타입 (열거형 타입)
- Any / Unknown
- Never / void
</aside>
타입 스크립트 타입 주석
// 변수 뒤에 :(콜론)과 자료형이 들어감, 타입 어노테이션이라고도 부름
let a: number = 123;
함수와 타입
함수의 네이밍은 어떤 타입의 매개변수를 받고, 어떤 타입의 결과 값을 변환하는지 고려해서 작성
- 함수의 매개변수에 각 각 타입을 달아줘야 함 반환값의 타입은 매개변수 뒤에 콜론을 이용해 달아주면 됨
- 매개변수의 생략은 선택적 매개변수로 만들어주면 됨
- undefined는 타입가드를 사용해서 타입을 좁혀줘야 함
- rest 이용
- 함수 타입 표현식
함수 타입 호환성
특정 함수 타입을 다른 함수 타입으로 취급해도 괜찮은 지를 판단하는 기준
- 반환 값의 타입이 호환되는가
- 매개 변수의 타입이 호환되는가
- 캐스팅
함수 오버로딩
함수를 매개변수의 타입이나 개수에 따라 여러가지 버전으로 정의하는 방법
- js 는 지원이 안되지만 타입 스크립트는 지원이 됨