하얀 코딩

[TypeScript - 9] 타입 단언(Type Assertion) 본문

TypeScript

[TypeScript - 9] 타입 단언(Type Assertion)

whitecoding 2023. 6. 6. 22:14

컴파일러에게 "나는 이 변수의 타입을 확신한다"알려주는 것을 의미합니다. 

타입 단언은 변수 또는 표현식의 타입을 명시적으로 지정하는 방법으로 사용됩니다.

 

타입 단언은 두 가지 주요 형태로 사용될 수 있습니다.

1. < > angle-bracket 문법

2. as 문법


< > (angle-bracket) 문법

let value: any = "hello";

let length: number = (<string>value).length;

위의 예제에서 value 변수는 any 타입으로 선언되었지만,

개발자는 이 변수가 실제로 문자열 타입을 가지고 있음을 확신합니다.

타입 단언을 사용하여 value 변수를 string 타입으로 캐스팅하고, length 변수에 문자열의 길이를 할당합니다.


as 문법

let value: any = "hello";
let length: number = (value as string).length;

위의 예제에서도 value 변수는 any 타입으로 선언되었지만,

개발자는 이 변수가 실제로 문자열 타입을 가지고 있음을 확신합니다.

타입 단언을 사용하여 value 변수를 string 타입으로 캐스팅하고, length 변수에 문자열의 길이를 할당합니다.


타입 단언은 컴파일러에게 타입 정보를 제공하여 개발자가 타입 검사를 우회하거나 강제할 수 있게 해줍니다. 

그러나 타입 단언을 남용하면 컴파일 타임과 런타임 간의 일치하지 않는 타입 에러가 발생할 수 있으므로 주의해야 합니다. 

가능한한 타입 단언을 사용하는 대신, 타입 추론이나 타입 가드와 같은 타입스크립트의 타입 시스템 기능을 활용하는 것이 좋습니다.