1. 기본 타입(Type)
1. String
타입
- 타입이 문자열인 경우 다음과 같이 선언해서 사용한다.
Note
- 위와 같이
:
를 이용하여 자바스크립트 코드에 타입을 정의하는 방식을 타입 표기(Type Annotation)라고 한다.
2. Number
타입
- 타입이 숫자이면 다음과 같이 선언한다.
3. Boolean
타입
- 타입이 진위 값인 경우에는 다음과 같이 선언한다.
4. Object
타입
- 타입이 객체인 경우에는 다음과 같이 선언한다.
- 하지만
object
로 정의하는 경우 타입 검사에 엄격한 타입스크립트를 사용하는 목적이 애매모호해진다.
- 위와 같이 동작하지 않도록
interface
를 구현하여 객체의 타입을 정의할 수 있다.
- 또는
interface
와 유사한type
으로도 구현할 수 있다.
5. Array
타입
- 타입이 배열인 경우 간단하게 다음과 같이 선언한다.
- 또는 다음과 같이 제네릭을 사용할 수 있다.
6. Tuple
타입
- 튜플은 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식을 의미한다.
- 만약 정의하지 않은 타입, 인덱스로 접근할 경우 오류가 난다.
7. Enum
타입
- 이넘은 C, Java와 같은 다른 언어에서 흔하게 쓰이는 타입으로 특정 값(상수)들의 집합을 의미한다.
8. Any
타입
- 기존에 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입스크립트를 점진적으로 적용할 때 활용하면 좋은 타입이다.
- 단어 의미 그대로 모든 타입에 대해서 허용한다는 의미를 갖고 있다.
9. Void
타입
- 변수에는
undefined
와null
만 할당하고, 함수에는 반환 값을 설정할 수 없는 타입이다.
10. Never
타입
- 함수의 끝에 절대 도달하지 않는다는 의미를 지닌 타입이다.