반응형
null 체크
우선 null을 체크하기 위해 tsconfig.ts에 아래 옵션을 추가해준다.
"strict": true
DOM조작할때 querySelector로 조회하면 엘리먼트가 없을때 null이 발생하는데, 그 상황을 잡기 위해서이다.
html에 다음과 같은 p태그가 있다고 가정하자.
<p id = 'title'>안녕하쇼</p>
ts파일에서는 다음과 같이 narrowing하여 적을 수 있다.
그 이유는 title이 null과 Element의 union type이기 때문
let title = document.querySelector("#title");
if (title instanceof Element) {
title.textContent = "반가워요";
}
let title = document.querySelector('#title') as Element
title.textContent="반가워요"
assertion문법은 버그를 추적하지 못하기때문에 100% 확실할때만 사용.
let title = document.querySelector("#title");
if (title?.textContent) title.textContent = "반가워요";
EventListener
다음과 같은 html태그가 있다면
<button id="button">버튼</button>
다음과 같이 작성할 수 있다.
let btn = document.querySelector("#button");
btn?.addEventListener('click', function(){})
//btn에 addEventListner가 가능하면 진행, 아니면 undefined 리턴
반응형
'개발 > TypeScript' 카테고리의 다른 글
타입스크립트 : rest파라미터의 타입 (0) | 2022.01.18 |
---|---|
Type alias와 interface 차이 (0) | 2022.01.15 |
타입스크립트 타입 별칭 (Type Aliases) (0) | 2022.01.14 |
Typescript narrowing과 assertion (0) | 2022.01.14 |
타입스크립트 함수에 타입지정은 파라미터와 리턴값 두군데에 한다! (0) | 2022.01.14 |