類型斷言 Type Assertion
1. 定義
可以用來手動指定yi一個值的類型
2. 語法
- <類型> 值
function getLength(x:number|string):number{
if((<string>x).length) {
return (<string>x).length
} else {
return x.toString().length
}
}
- 值 as 類型
function getLength(x:number|string):number{
if((x as string).length){
return (x as string).length
} else {
return x.toString().length
}
}
類型斷言並非是類型轉換,斷言一個聯合類型中不存在的類型會報錯!
function wrong(x:number|string):boolean{
return <boolean>x // 報錯!
}