단언(Assertion)이란?
- 주저하지 아니하고 딱 잘라 말함
- 개발자가 타입스크립트에게 단언한다라고 말할 수 있다
타입 단언
- 단언 키워드 as
- Non-null 단언 연산자 - ! : null/undefined 데이터가 아님을 단언
ex1)
const btn = document.querySelector("button") as HTMLButtonElement;
btn.classList.add("btn");
btn.id = "abc";
const btn1 = document.querySelector("button")!
btn1.classList.add("btn");
btn1.id = "abc";
const btn2 = document.querySelector("button")
btn2!.classList.add("btn");
btn2!.id = "abc";
ex2)
function toTwoDecimals(val: number | string, isNum: boolean) {
if (isNum) {
(val as number).toFixed(2);
} else {
(val as string).substring(0, 2);
}
}
ex3)
const json = '{"name": "BAEK", "age": 27}';
const user = JSON.parse(json) as { name: string; age: number };
할당 단언
- 변수를 초기화할 때 값을 지정하지 않아도 사용할 수 있게 만들어준다
let num!: number;
console.log();