TypeScript中,如何区分联合类型、交叉类型与类型保护?

更新于
2026-09-28 00:03:18
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1707个文字,预计阅读时间需要7分钟。

TypeScript中,如何区分联合类型、交叉类型与类型保护?

目录

1.联合类型

2.枚举类型

3.类型保护

3.1 自定义类型保护 3.2 typeof 类型保护 3.3 instanceof 类型保护

1.联合类型

所谓的联合类型就是定义一些类型,变量的值只需要满足这些类型中的任意一种即可。例如:定义一个变量可以是字符串或数字。

目录
  • 1.联合类型
  • 2.交叉类型
  • 3.类型保护
    • 3.1自定义类型保护
    • 3.2typeof 类型保护
    • 3.3instanceof类型保护

1.联合类型

所谓的联合类型就是定义一些类型,定义的变量只需要满足任意一种类型即可,联合类型使用|定义,示例代码如下:

// 通过 | 符号定义联合类型 let value: number | boolean | string = '一碗周' value = 18

在上面的代码中我们定义了一个value变量,该变量可以是number、boolean或者string类型。

2.交叉类型

介绍了联合类型,然后介绍一下与之特别相似的交叉类型。

所谓的交叉类型就是需要满足所有类型,交叉类型使用&符号定义。

阅读全文

本文共计1707个文字,预计阅读时间需要7分钟。

TypeScript中,如何区分联合类型、交叉类型与类型保护?

目录

1.联合类型

2.枚举类型

3.类型保护

3.1 自定义类型保护 3.2 typeof 类型保护 3.3 instanceof 类型保护

1.联合类型

所谓的联合类型就是定义一些类型,变量的值只需要满足这些类型中的任意一种即可。例如:定义一个变量可以是字符串或数字。

目录
  • 1.联合类型
  • 2.交叉类型
  • 3.类型保护
    • 3.1自定义类型保护
    • 3.2typeof 类型保护
    • 3.3instanceof类型保护

1.联合类型

所谓的联合类型就是定义一些类型,定义的变量只需要满足任意一种类型即可,联合类型使用|定义,示例代码如下:

// 通过 | 符号定义联合类型 let value: number | boolean | string = '一碗周' value = 18

在上面的代码中我们定义了一个value变量,该变量可以是number、boolean或者string类型。

2.交叉类型

介绍了联合类型,然后介绍一下与之特别相似的交叉类型。

所谓的交叉类型就是需要满足所有类型,交叉类型使用&符号定义。

阅读全文