jineecode

타입단언 본문

JS/Typescript(공개용)

타입단언

지니코딩 2022. 8. 22. 13:34

https://www.typescriptlang.org/ko/docs/handbook/2/everyday-types.html#type-assertions

 

Documentation - Everyday Types

언어의 원시 타입들.

www.typescriptlang.org

때로는 TypeScript보다 당신이 어떤 값의 타입에 대한 정보를 더 잘 아는 경우도 존재합니다.

예를 들어 코드상에서 document.getElementById가 사용되는 경우, TypeScript는 이때 HTMLElement 중에 _무언가_가 반환된다는 것만을 알 수 있는 반면에, 당신은 페이지 상에서 사용되는 ID로는 언제나 HTMLCanvasElement가 반환된다는 사실을 이미 알고 있을 수도 있습니다.

이런 경우, _타입 단언_을 사용하면 타입을 좀 더 구체적으로 명시할 수 있습니다.

 

 

- 타입 단언이 없을 시

const myCanvas = document.getElementById("main_canvas")

// const myCanvas: HTMLElement | null

 

- 타입 단언 사용

/**
* ts에서
* 
*/
const myCanvas = document.getElementById("main_canvas") as HTMLCanvasElement;
// const myCanvas: HTMLCanvasElement

/**
* tsx에서
* 
*/
const myCanvas = <HTMLCanvasElement>document.getElementById("main_canvas");
// const myCanvas: JSX.Element

 

 

Comments