image
重載
同一個函數(shù)提供多個函數(shù)類型定義來進行函數(shù)重載找田。
function add(n1: number, n2: number);
function add(n1: string, n2: string);
function add(n1, n2) {
return n1 + n2;
}
function add2<T>(n1: T, n2: T): T {
return n1
}
add(1, 2); // 3
add('frank', 'jack'); // 'frankjack'
add2(new Date(), new Date())
類型推論
function add(n1: string,n2: string) {
return n1 + n2 ;
}
add('a','b') // 返回結(jié)果TS會推斷出為string
類型兼容
interface Human {
name: string;
age: number;
}
let y = {name:'xxx',age:18,gender:'yyy'}
let x: Human = y
// 在賦值時,可以兼容把多的對象賦值給少的對象着憨,只要符合相同的參數(shù)墩衙,節(jié)約類型個數(shù)
soundness
image.png
可能邏輯上推理有瑕疵,但是TS允許你這樣操作,提高了效率和允許你稍微提高錯誤率漆改。