TypeScript的类型推导
在TypeScript中,类型推导是一个自动确定类型的过程。这意味着你不必手动为某个变量或表达式指定类型,编译器会根据你的代码上下文来推断它的类型。
以下是一些使用TypeScript类型推导的例子:
- 类型推导和类型注解:
// 类型注解
let speed: number = 100;
// 类型推导
let speed = 100; // 编译器推断speed为number类型
- 从函数返回类型推导:
function add(a: number, b: number) {
return a + b;
}
let result = add(1, 2); // 编译器推断result为number类型
- 使用泛型函数时的类型推导:
function identity<T>(arg: T): T {
return arg;
}
let result = identity("Hello World"); // 编译器推断result为string类型
- 使用constassertions进行类型断言:
let value = "100" as const; // as const断言整个对象是一个不可变的对象
let num = value as number; // 显式指定类型,但编译器会推断num为100,因为value是不可变的
- 使用类型保护进行类型推导:
interface Cat {
type: "cat";
name: string;
}
interface Dog {
type: "dog";
name: string;
}
function getAnimalName(animal: Cat | Dog) {
return animal.name;
}
let animal = getAnimalName({ type: "cat", name: "Tom" }); // 编译器推断animal为string类型
在这些例子中,我们没有手动为变量speed
、result
、num
或animal
指定类型,而是依赖TypeScript的类型推导机制来确定它们的类型。这使得代码更加简洁和健壮,同时也提高了类型安全性。
评论已关闭