Skip to content

10.类型推断 ​

一.赋值推断 ​

赋值时推断,类型从右像左流动,会根据赋值推断出变量类型

ts
let str = 'coderlibs';
let age = 11;
let boolean = true;

二.返回值推断 ​

自动推断函数返回值类型

ts
function sum(a: string, b: string) {
    return a + b;
}
sum('a','b');

三.函数推断 ​

函数从左到右进行推断

ts
type Sum = (a: string, b: string) => string;
const sum: Sum = (a, b) => a + b;

四.属性推断 ​

可以通过属性值,推断出属性的类型

ts
let person = {
    name:'zf',
    age:11
}
let {name,age} = person;

五.类型反推 ​

可以使用typeof关键字反推变量类型

ts
let person = {
    name:'zf',
    age:11
}
type Person = typeof person

六.索引访问操作符 ​

ts
interface IPerson {
    name:string,
    age:number,
    job:{
        address:string
    }
}
type job = IPerson['job']

七.类型映射 ​

ts
interface IPerson {
    name:string,
    age:number
}
type MapPerson = {[key in keyof IPerson]:IPerson[key]}