乐闻世界logo
搜索文章和话题

什么是“ Union ”类型, TypeScript 中是如何使用的?

2 个月前提问
1 个月前修改
浏览次数16

1个答案

1

在 TypeScript 中,“Union” 类型是一种高级类型,它允许一个值具有多种不同的类型。简单来说,Union 类型通过使用管道符号(|)来连接多个类型,从而允许变量存储不同类型的值。这种类型的主要用途是增强代码的灵活性和可维护性,使得一个变量可以安全地被指定为多种可能的类型中的一种。

Union 类型的定义

Union 类型的定义非常简单,比如你有一个变量,它可以是数字或字符串类型,你可以这样定义:

typescript
let myVar: number | string;

这个定义表明 myVar 可以存储一个数字或一个字符串。

使用示例

假设我们正在编写一个函数,这个函数接受一个参数,这个参数可以是数字或者是字符串。当参数是数字时,直接打印这个数字;当参数是字符串时,打印字符串的长度。我们可以这样实现:

typescript
function printNumberOrStringLength(input: number | string) { if (typeof input === "number") { console.log("Number is:", input); } else { console.log("String length is:", input.length); } } printNumberOrStringLength(123); // 输出: Number is: 123 printNumberOrStringLength("hello"); // 输出: String length is: 5

在这个例子中,我们首先定义了一个参数 input,它的类型是 number | string。这意味着 input 可以是一个数字或一个字符串。在函数体内,我们用 typeof 操作符检查 input 的类型,根据类型的不同执行不同的逻辑。

总结

Union 类型是 TypeScript 提供的一个非常实用的特性,它允许变量在符合类型安全的前提下拥有更多的灵活性。这对于需要处理多种数据类型的场景非常有用,比如在处理外部数据或者用户输入时。通过合理使用 Union 类型,可以有效地提高应用的健壮性和开发效率。

2024年8月2日 13:51 回复

你的答案