์ฐ์ ..
{
"compilerOptions": {
...
"strictNullChecks": true,
...
},
}
tsconfig.json ํ์ผ์์ strictNullCheck ์ต์ ์ true๋ก ๋ฐ๊พผ๋ค. (ํน์ "strict" : true๋ก ์จ๋ฌ๋ ๋๋ค) ์ด๋ ๊ฒ ์ค์ ํ๋ฉด TypeScript ์ปดํ์ผ๋ฌ๋ ๋ ์๊ฒฉํ ๊ท์น์ ์ ์ฉํ๋ฉฐ, ๋ณ์์ ๋ํ null ์ฒดํฌ๊ฐ ๊ฐ์ ๋๋ค.
href ์กฐ์์ ์ค๋ฅ
let link = document.querySelector('#link');
if(link instanceof HTMLElement){
link.href = 'https://kakao.com';
}
HTMLElement ํ์ ์ href ์์ฑ์ด ์๋ค๋ ์ค๋ฅ๊ฐ ๋ฌ๋ค. ๋งํฌํ๊ทธ์ ๊ฒฝ์ฐ์๋ ์ข๋ ์ข๊ฒ narrowingํด์ค์ผ ํ๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
let link = document.querySelector('#link');
if(link instanceof HTMLAnchorElement){
link.href = 'https://kakao.com';
}
๋งํฌํ๊ทธ์ ๊ฒฝ์ฐ์๋ ์ข๋ ์ข๊ฒ narrowingํด์ค์ผ ํ๋ค.
html ํ๊ทธ ์ข ๋ฅ๋ณ๋ก ์ ํํ ํ์ ๋ช ์นญ์ด ์๋ค.
- a ํ๊ทธ๋ HTMLAnchorElement
- img ํ๊ทธ๋ HTMLImageElement
- h4 ํ๊ทธ๋ HTMLHeadingElement
- ...
์์ฒญ ๋ง์ผ๋ ์๋์์ฑ์ ์ฐ์.
์ถ์ฒ : ์ฝ๋ฉ์ ํ https://codingapple.com/ / TypeScript Documentation https://www.typescriptlang.org/docs/handbook/2/objects.html