Type Assertions

타입 어설션


let someValue: any = "this is a string";

let strLength: number = (<string>someValue).length;
let strLength: number = (someValue as string).length;

/*

1. 주로 넓은 타입에서 좁은 타입으로 강제하는 경우가 많다.
2. jsx 에서는 as 를 쓴다.

*/

non-null assertions

function optional(b: { foo: string | null }) {
  console.log(b.foo.length);
}
function optional(b: { foo?: string }) {
  console.log(b.foo.length);
}