返回

TypeScript学习笔记二:基础类型到高级类型

前端

在上一篇笔记中,我们介绍了TypeScript的基础语法,包括变量、数据类型、运算符、条件语句、循环语句等。在这一篇笔记中,我们将继续学习TypeScript的类型系统,包括联合类型、类型推断、类型断言、元组、枚举、any、void等。

  1. 联合类型

联合类型允许变量存储多种类型的数据。例如,我们可以定义一个变量来存储字符串或数字:

let x: string | number;
x = "hello";
x = 123;
  1. 类型推断

TypeScript会自动推断变量的类型,这意味着我们不必显式地指定变量的类型。例如,以下代码中,变量x的类型会被推断为string:

let x = "hello";
  1. 类型断言

有时候,我们需要强制TypeScript将变量的类型转换为另一种类型。这可以通过类型断言来实现。例如,以下代码将变量x的类型从string转换为number:

let x: string = "123";
let y: number = <number>x;
  1. 元组

元组是一种有序的数据结构,可以存储不同类型的数据。例如,我们可以定义一个元组来存储一个人的姓名和年龄:

let person: [string, number] = ["John Doe", 30];
  1. 枚举

枚举是一种特殊的类型,它允许我们定义一组命名常量。例如,我们可以定义一个枚举来表示交通信号灯的颜色:

enum TrafficLightColor {
  Red,
  Yellow,
  Green
}
  1. any

any类型允许变量存储任何类型的数据。这是一种不安全的类型,因为它允许我们存储任何类型的数据,包括无效的数据。例如,以下代码将变量x的类型设置为any:

let x: any;
x = "hello";
x = 123;
x = true;
  1. void

void类型表示一个没有返回值的函数。例如,以下函数的类型为void:

function greet(): void {
  console.log("Hello, world!");
}
  1. 总结

在这一篇笔记中,我们学习了TypeScript中的联合类型、类型推断、类型断言、元组、枚举、any、void等类型。这些类型都是TypeScript类型系统的重要组成部分,它们可以帮助我们更好地组织和管理代码。