Typescript는 JavaScript에는 없는 몇 가지 고유한 타입을 제공합니다. 이러한 전용 타입은 코드의 안정성과 가독성을 향상시키며 특정 상황에서 더 나은 개발 경험을 제공합니다.
enum
타입: 열거형(Enumerated Type)으로, 연관된 상수들을 정의할 때 사용됩니다. 각각의 멤버는 고유한 이름을 가지며, 해당 멤버들은 타입으로 사용될 수 있습니다.
enum Color {
Red,
Green,
Blue,
}
let myColor: Color = Color.Red;
tuple
타입: 고정된 개수의 요소로 이루어진 배열을 표현할 때 사용됩니다. 각 요소의 타입이 정의되어 있어야 합니다.
let myTuple: [string, number] = ["hello", 42];
union
타입: 두 개 이상의 타입 중 하나가 될 수 있는 값을 표현할 때 사용됩니다.
let myVar: string | number = "hello";
myVar = 42;
never
타입: 함수가 항상 예외를 던지거나 무한 루프에 빠지는 등의 경우, 해당 함수의 반환 타입으로 사용됩니다.
function throwError(message: string): never {
throw new Error(message);
}
unknown
타입: 어떤 값이 어떤 타입인지 확실하지 않은 경우 사용됩니다. any
와 유사하지만, 타입 안전성을 보장합니다.
let myUnknown: unknown = "hello";
let myString: string = myUnknown as string;
이러한 전용 타입을 통해 타입스크립트는 JavaScript의 한계를 극복하고 더욱 강력하고 안전한 타입 시스템을 제공합니다.