类型推断指编译器在没有显式注解时自动推导变量类型。let count = 0 推断为 number,let name = 'tom' 推断为 string,函数返回值也会由 return 语句推出。大多数局部变量都不需要手写类型,泛型方法的实参也能由调用推导,这让 TS 写起来并不比 JS 啰嗦多少。
推断的边界在于上下文不足的场合:函数参数、对象字面量赋给复杂结构时仍需显式标注。配合 const 可以得到字面量类型,const url = '/api' 的类型就是 /api 而非 string。善用推断可以减少大量样板注解,只在编译器提示或公共接口处补齐类型即可。
let count = 0; // 推断为 number const url = '/api'; // 推断为字面量类型 '/api' function add(a: number, b: number) { return a + b; // 返回值推断为 number,无需手写 } const list = [1, 2, 3]; // 推断为 number[] const item = list[0]; // 推断为 number