TS重载

TS重载_第1张图片
image

重载

同一个函数提供多个函数类型定义来进行函数重载。

function add(n1: number, n2: number);

function add(n1: string, n2: string);

function add(n1, n2) {

return n1 + n2;

}

function add2(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

TS重载_第2张图片
image.png

可能逻辑上推理有瑕疵,但是TS允许你这样操作,提高了效率和允许你稍微提高错误率。

你可能感兴趣的:(TS重载)