요약
TypeScript에서 타입 단언(Type Assertion)은 변수의 타입을 명확히 지정해주는 문법입니다. 컴파일러가 타입을 추론하지 못할 때, 개발자가 해당 값의 타입을 더 잘 알고 있다고 판단되면 타입 단언을 사용할 수 있습니다. 타입 단언은 런타임 오류를 잡아주거나 타입 변환을 수행하지 않고, 오로지 컴파일 단계에서만 동작합니다.
타입 단언은 두 가지 방식으로 사용할 수 있습니다. 예를 들어,
let value: unknown = "ng-India";
let length1: number = (<string>value).length;
let length2: number = (value as string).length;
각각 각괄호(<>)와 as 문법이 있으며, 최근에는 as 문법이 더 권장됩니다.
주로 unknown 타입이나 유니언 타입, JSON 파싱 결과 등에서 타입을 명확히 할 때 사용합니다. 단, 타입 단언은 실제 타입을 바꾸지 않으며 런타임 검사를 하지 않으므로 반드시 올바른 타입임을 확신할 때만 사용해야 합니다.