Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- react
- vue.js
- const 단언문
- 2022
- 레이아웃쪼개기
- 타입스크립트
- 커스텀
- typescript
- 리액트
- 제네릭
- React.js
- 성능최적화
- 티스토리꾸미기
- 공통컴포넌트
- TSDoc
- utilty type
- 반복줄이기
- click and drag
- reactjs
- 타입좁히기
- returnType
- 누구나 자료구조와 알고리즘
- JS console
- 폰트적용하기
- React Native
- javascript
- Chart.js
- 개발콘텐츠
- CSS
- NonNullable
Archives
- Today
- Total
몽땅뚝딱 개발자
[TypeScript] DOM Element 본문
타입스크립트에서는 DOM 엘리먼트의 계층 구조를 파악하기가 용이하다.
Element와 EventTarget에 달려 있는 Node의 구체적인 타입을 안다면 타입 오류를 디버깅 할 수 있고, 언제 타입 단언을 사용해야 할 지 알 수 있다. (일반적으로 타입 단언은 지양하는게 좋지만, DOM 관련해서는 타입스크립트보다 우리가 알고있는게 더 명확하므로 사용해도 된다.)
◽ dom 계층의 타입들
타입 | 예시 |
EventTarget | window, XMLHttpRequest |
Node | document, Text, Comment |
Element | HTMLElement, SVGElement |
HTMLElement | <i>, <b> |
HTMLxxxElement | <button>: HTMLButtonElement <p>: HTMLParagraphElement |
◽ Event
Event 타입은 가장 추상화된 이벤트로, 더 구체적인 타입을 지정해주는 것이 좋다.
구체적인 타입 종류: UIEvent, MouseEvent, TouchEvent, WheelEvent, KeyboardEvent
handleDrag(eDown: Event) {
// Error: Event에 clientX 속성이 없습니다. Event에 clientY 속성이 없습니다.
const dragStart = [dDown.clientX, dDown.clientY]
},
출처
댄 밴터캄, 이펙티브 타입스크립트 (프로그래밍 인사이트, 2021)
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'Development > Typescript' 카테고리의 다른 글
[TypeScript] 타입스크립트로 마이그레이션하기 (0) | 2023.01.24 |
---|---|
[TypeScript] 모던 자바스크립로 작성하기 (0) | 2023.01.24 |
[TypeScript] 이상적으로 타입스크립트 사용하기 (0) | 2023.01.08 |
[TypeScript] 타입스크립트에서 TSDoc 사용하기 (0) | 2022.12.04 |
[TypeScript] declare module 선언 / @types/foo (0) | 2022.12.02 |
Comments