返回
类型大师之路:函数返回类型揭秘,TS进阶必学
前端
2024-01-23 17:22:49
从基础类型开始
TypeScript的基本类型包括:
- 数值类型:number
- 布尔类型:boolean
- 字符串类型:string
- 空类型:void
- undefined类型
- null类型
这些基本类型是TypeScript类型系统的地基,也是函数返回类型最简单的形式。
联合类型:解决多种可能
当一个函数可能返回多种类型时,可以使用联合类型来指定函数的返回类型。联合类型使用竖线(|)将多种类型连接起来,例如:
function sum(a: number, b: number): number | string {
if (a + b > 10) {
return "大于10";
} else {
return a + b;
}
}
这个函数接受两个数字作为参数,并返回一个数字或字符串。如果函数返回数字,则类型是number;如果函数返回字符串,则类型是string。
可选类型:处理缺失值
可选类型使用问号(?)来标记一个类型可以为undefined或null。例如:
function getName(user: { name: string | undefined }): string | undefined {
return user.name;
}
这个函数接受一个对象作为参数,该对象有一个可选的name属性。如果对象的name属性存在,则函数返回该属性的值;否则,函数返回undefined。
数组类型:有序集合
数组类型使用方括号([])来定义。数组类型的元素可以是任意类型,例如:
function getNumbers(): number[] {
return [1, 2, 3];
}
这个函数返回一个数字数组。数组类型的长度可以是固定的,也可以是可变的。
元组类型:有序集合
元组类型与数组类型相似,但元组类型的元素类型是固定的。例如:
function getPersonInfo(): [string, number] {
return ["John", 30];
}
这个函数返回一个元组,第一个元素是字符串,第二个元素是数字。元组类型的元素不能被修改,也不能被添加或删除。
枚举类型:有限集合
枚举类型定义了一组常量值。例如:
enum Color {
Red,
Green,
Blue
}
function getColor(): Color {
return Color.Red;
}
这个函数返回一个颜色枚举值。枚举类型可以用来表示一组有限的选项,例如:颜色、水果、动物等。
接口类型:约束对象
接口类型定义了一组属性和方法的规范。对象类型必须满足接口类型的要求,才能被赋值给接口类型的变量。例如:
interface Person {
name: string;
age: number;
}
function getPerson(): Person {
return {
name: "John",
age: 30
};
}
这个函数返回一个Person类型的对象。接口类型可以用来约束对象