TypeScriptにおいてannotationは頻繁に登場しますが、assertionは他の言語と同じく使い方は例外的(例えばテスト用とか)だろうと思います。
以下のコードではnumber | stringの戻りの型をformatInput()の引数とするために(string型)とするためにinput as stringが使われています。”is“(user defined type guard)と似てはいますが、ここは”as“ではないといけません。
// escape hatch(assert the type)
function formatInput(input: string) {
console.log(input)
}
function getUserInput(): number | string {
return 123;
}
let input = getUserInput();
formatInput(input as string);
admin