类型推断(Type Inference)是 TypeScript 中的一个重要特性。它允许 TypeScript 编译器在没有显式类型注解的情况下自动推断出变量、函数参数和返回值的类型。 以下是一些类型推断的示例:
let x = 42; // x 的类型被推断为 number
let y = "hello"; // y 的类型被推断为 string
function add(a, b) {
return a + b;
}
let result = add(2, 3); // result 的类型被推断为 number
在这个例子中,TypeScript 会根据 add 函数的参数和返回值的使用情况,推断出 a 和 b 的类型为 number,同时推断出 add 函数的返回值类型也为 number。
let numbers = [1, 2, 3]; // numbers 的类型被推断为 number[]
let person = { name: "John", age: 30 }; // person 的类型被推断为 { name: string; age: number; }
在这个例子中,TypeScript 会根据数组和对象字面量的内容,推断出它们的类型。
let x = Math.random() < 0.5 ? 42 : "hello";
// x 的类型被推断为 number | string
在这个例子中,TypeScript 会根据条件表达式的结果,推断出 x 的类型可能是 number 或 string。
但是,在某些情况下,类型推断可能无法准确推断出变量的类型。这时就需要开发者手动添加类型注解,以确保代码的类型安全性。 总之,类型推断是 TypeScript 的一个强大特性,可以显著提高开发效率和代码可读性。合理利用类型推断和类型注解,可以构建出更加健壮和可维护的 TypeScript 代码。