返回
TypeScript学习笔记二:基础类型到高级类型
前端
2023-10-09 21:03:57
在上一篇笔记中,我们介绍了TypeScript的基础语法,包括变量、数据类型、运算符、条件语句、循环语句等。在这一篇笔记中,我们将继续学习TypeScript的类型系统,包括联合类型、类型推断、类型断言、元组、枚举、any、void等。
- 联合类型
联合类型允许变量存储多种类型的数据。例如,我们可以定义一个变量来存储字符串或数字:
let x: string | number;
x = "hello";
x = 123;
- 类型推断
TypeScript会自动推断变量的类型,这意味着我们不必显式地指定变量的类型。例如,以下代码中,变量x的类型会被推断为string:
let x = "hello";
- 类型断言
有时候,我们需要强制TypeScript将变量的类型转换为另一种类型。这可以通过类型断言来实现。例如,以下代码将变量x的类型从string转换为number:
let x: string = "123";
let y: number = <number>x;
- 元组
元组是一种有序的数据结构,可以存储不同类型的数据。例如,我们可以定义一个元组来存储一个人的姓名和年龄:
let person: [string, number] = ["John Doe", 30];
- 枚举
枚举是一种特殊的类型,它允许我们定义一组命名常量。例如,我们可以定义一个枚举来表示交通信号灯的颜色:
enum TrafficLightColor {
Red,
Yellow,
Green
}
- any
any类型允许变量存储任何类型的数据。这是一种不安全的类型,因为它允许我们存储任何类型的数据,包括无效的数据。例如,以下代码将变量x的类型设置为any:
let x: any;
x = "hello";
x = 123;
x = true;
- void
void类型表示一个没有返回值的函数。例如,以下函数的类型为void:
function greet(): void {
console.log("Hello, world!");
}
- 总结
在这一篇笔记中,我们学习了TypeScript中的联合类型、类型推断、类型断言、元组、枚举、any、void等类型。这些类型都是TypeScript类型系统的重要组成部分,它们可以帮助我们更好地组织和管理代码。