jineecode
타입단언 본문
https://www.typescriptlang.org/ko/docs/handbook/2/everyday-types.html#type-assertions
때로는 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
'JS > Typescript(공개용)' 카테고리의 다른 글
'ParsedUrlQuery | undefined' 형식에 'userSeq' 속성이 없습니다. (0) | 2022.08.08 |
---|---|
Typescript 유틸리티 (0) | 2022.07.11 |
타입-전용 Imports 와 Exports (Type-Only Imports and Exports) (0) | 2022.07.11 |
Comments