聯(lián)合類型(|)
聯(lián)合類型,或者的意思
let numberOrString: number | string;
交叉類型(&)
交叉類型,兩個都需要
interface a {
name: string;
}
interface b {
age: number;
}
type obj = a & b;
let obj1: obj = {
name: 'dj',
age: 11
}
類型斷言
使用 as 關鍵字可以告訴 ts 我們是什么類型
function getLength(input: string | number): number {
const str = input as string
if (str.length) {
return str.length
} else {
const number = input as number
return number.toString().length
}}
類型守衛(wèi)
typescript 在不同的條件分支里面,智能的縮小了范圍,這樣我們代碼出錯的幾率就大大的降低了。
function getLength2(input: string | number): number {
if (typeof input === 'string') {
return input.length
} else {
return input.toString().length
}}