[typescript] 타입스크립트에서의 타입 단언 변환 방식

타입스크립트는 타입 단언(Type Assertion) 또는 타입 캐스팅(Type Casting)을 사용하여 변수의 타입을 개발자가 명시적으로 변환할 수 있습니다. 이 글에서는 타입스크립트에서의 타입 단언의 기본적인 사용법과 다양한 변환 방식에 대해 알아보겠습니다.

타입 단언(Type Assertion)이란?

타입 단언(Type Assertion)은 개발자가 컴파일러에게 “이 변수의 타입을 내가 명시적으로 알고 있다”고 알려주는 것을 말합니다.

let someValue: any = "this is a string";

let strLength: number = (someValue as string).length;
// 또는
let strLength: number = (<string>someValue).length;

위 코드에서 someValue의 타입을 any로 선언했기 때문에 문자열 메서드를 사용할 수 없습니다. 하지만 as 키워드나 <string>을 사용하여 타입 단언을 통해 문자열로 변환한 후, 해당 메서드를 사용할 수 있습니다.

타입 단언 방식

1. as 키워드를 사용한 타입 단언

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;

2. <타입>을 사용한 타입 단언

let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;

명시적인 변환 함수를 사용한 타입 단언

때로는 타입 단언을 하기보다는 명시적으로 변환하는 함수를 사용할 수 있습니다.

1. as 키워드를 사용한 변환 함수

let num: number = 123;
let str: string = num.toString() as string;

2. <타입>을 사용한 변환 함수

let num: number = 123;
let str: string = (num.toString()) as string;

타입 단언의 주의사항

타입 단언은 개발자가 컴파일러에게 타입 변환을 강요하는 것이므로, 실제 변수의 타입과 일치하지 않는 경우 런타임 오류가 발생할 수 있습니다. 따라서, 타입 단언을 남발하지 않고 신중하게 사용해야 합니다.

위와 같이 타입 단언을 사용할 때는 항상 주의해야 하며, 필요한 경우에만 사용하는 것이 좋습니다.

이상으로 타입스크립트에서의 타입 단언 변환 방식에 대해 알아보았습니다. 추가적인 정보가 필요하다면 여기를 참고하세요.