타입스크립트의 기본 타입에는 크게 다음 12가지가 있다.
const str: string = "Hello, TypeScript"
위와 같이
:
를 이용하여 자바스크립트 코드에 타입을 정의하는 방식을 타입 표기(Type Annotation)라고 한다.
const num: number = 11;
const isLoggedIn: boolean = true;
const arr: number[] = [1, 2, 3];
또는 아래와 같이 제네릭을 사용할 수 있다.
const arr: Array<number> = [1, 2, 3];
튜플은 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식을 의미한다.
const arr: [string, number] = ["Hi", 11];
만일, 정의하지 않은 타입과 인덱스로 접근할 경우 오류가 발생한다.
arr[1].concat("!"); // Error, 'number' does not have 'concat'
arr[5] = "Hello"; // Error, Property '5' does not exist on type '[string, number]'.
특정 값(상수)들의 집합을 의미하는 자료형이다.
enum Fruits { Apple, Orange, Melon }
const fruit: Fruits = Fruits.Apple;
const fruit: Fruits = Fruits[0]; // Apple
const fruit: Fruits = Fruits[2]; // Melon
기존 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입스크립트를 점진적으로 적용할 때 활용하면 좋은 타입이다. 모든 타입에 대해서 허용한다는 의미를 갖고 있다.
const str: any = "Hi";
const num: any = 10;
const arr: any = ["a", 2, true];
변수에는 undefined
와 null
만 할당하고, 함수에는 반환 값을 설정할 수 없는 타입이다.
const unuseful: void = undefined;
function notuse(): void {
console.log("non return");
}
함수의 끝에 절대 도달하지 않는다는 의미를 지닌 타입이다.
function naverEnd(): never {
while (true) {
// ...
}
}