[Type Script] Type Assertions

feelslikemmmm·2021년 5월 19일
0

TypeScript

목록 보기
10/15
post-thumbnail

타입 단언 (Type assertions)

가끔 타입스크립트보다 개발자가 값에 대해 더 잘 알고 있을 때가 있습니다

대개 이런 경우는 어떤 엔티티의 실제 타입이 현재 타입보다 더 구체적일 때 발생합니다

타입 단언은 컴파일러에게 난 내가 뭘 하고 있는지 확신한다고 말해주는 방법 입니다.

타입 단언은 다른 언어의 타입 변환과 유사하지만 다른 특별한 검사를 하거나 데이터를 재구성 하지는 않습니다

이는 런타임에 영향을 미치지 않으면서 온전히 컴파일러만 이를 사용합니다

타입 스크립트는 개발자가 필요한 어떤 특정 검사를 수행했다고 인지합니다

타입 단언에는 두 가지 형태가 있습니다. 하나는 위 예시의 angle-bracket 문법입니다

다른 하나는 as -문법 입니다.

위 두 예제는 동일한데요, 어떤 것을 사용할지는 주로 선호에 따른 선택입니다.

하지만 타입스크립트를 JSX와 함께 사용할 때는 as만 허용됩니다

하지만 타입 단언은 사용하는 것이 권장 되지는 않는다고 합니다

str 변수에 숫자 형태의 값을 넣고 as를 이용해 캐스팅해 문자열이라고 정해줬는데요,

코드를 작성하는 시점에서 str이 number 타입임에도 불구하고 .length 메서드가 오류가 나지않고 사용됩니다

하지만 코드를 실행해보면 undefined라는 결과 값이 나오게 됩니다

코드를 작성하다보면 개발자가 놓치는 부분이 생기기 때문에 왠만하면 사용하는 것이 좋지 않습니다

꼭 사용해야 한다면 정말 그 타입에 대해서 확신할 때 사용해야 합니다

profile
꾸준함을 잃지 말자는 모토를 가지고 개발하고 있습니다 :)

0개의 댓글