상세 컨텐츠

본문 제목

TypeScript 타입스크립트 - Type assertions

Study with me

by Agathe_1024 2022. 9. 20. 17:05

본문

가끔 우리는 타입스크립트가 해당 타입이 무엇인지 모르는 정보를 가질 때도 있습니다.

예를들어, document.getElementById 를 이용할 경우,

타입스크립는 오직 그게 "어떤" 종류의 HTMLElement인 것만 알지만,

개발자는 document.getElementById로 불러오는 엘리먼트가 항상 주어진 아이디가 있는 HTMLCanvasElement를 가지는 화면임을알 것입니다. 

 

이 같은 상황일 경우, 우리는 더욱 정밀한 타입을 특정짓기 위해 Type assertions을 사용합니다.

const myCanvas = document.getElementById("main_canvas") as HTMLCanvasElement;

 

Type annotation과 같이, Type assertion은 컴파일러에 의해 삭제되고, 런타임에 영향을 주지 않는다.

또한 angle-bracket syntax도 동등하게 사용할 수 있다.(tsx파일 내부의 코드일 경우는 제외)

const myCanvas = <HTMLCanvasElement>document.getElementById("main_canvas");

 

관련글 더보기