重载
同一个函数提供多个函数类型定义来进行函数重载。
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') // 返回结果TS会推断出为string
类型兼容
interface Human {
name: string;
age: number;
}
let y = {name:'xxx',age:18,gender:'yyy'}
let x: Human = y
// 在赋值时,可以兼容把多的对象赋值给少的对象,只要符合相同的参数,节约类型个数
soundness
image.png可能逻辑上推理有瑕疵,但是TS允许你这样操作,提高了效率和允许你稍微提高错误率。
网友评论