Type Assertions (타입 주장, 타입 확신)
*// #1*
*// result 의 타입을 string으로 확신*
function jsStrFunc(): any {
return 'hello';
}
const result = jsStrFunc();
console.log((result as string).length); *// 확신 방법1 ★*
console.log((<string>result).length); *// 확신 방법2 ★*
*// #2*
*// 타입을 확신 하였지만 잘못된 타입으로 Error*
const wrong: any = 5;
console.log((wrong as Array<number>).push(1)); *// Error*
*// #3*
*// optional -> !*
*// undefined 가 아님을 확신할 떄
// 타입을 확신 하엿지만 잘못된 타입으로 Error*
function findNumbers(): number[] | undefined {
return undefined;
}
const numbers = findNumbers()!; *// undefined 가 아님을 확신 ★*
numbers.push(2);
*// #4*
*// optional -> !*
*// ! 사용은 해도 되지만 정말로 100% 확신할 때만 사용*
const button = document.querySelector('.button')!;