Type Assertion
var foo = {};
foo.bar = 123; // Error: property 'bar' does not exist on `{}`
foo.bas = 'hello'; // Error: property 'bas' does not exist on `{}`interface Foo {
bar: number;
bas: string;
}
var foo = {} as Foo;
foo.bar = 123;
foo.bas = 'hello';as foo vs. <foo>
as foo vs. <foo>var foo: any;
var bar = <string> foo; // bar is now of type "string"Type Assertion vs. Casting
Assertion considered harmful
Double assertion
How TypeScript determines if a single assertion is not enough
as any as vs as unknown as
as any as vs as unknown asLast updated