TypeScript 联合类型
在 TypeScript 中,我们可以定义一个变量来存储多个类型的值。换句话说,TypeScript 可以将一种或两种不同类型的数据(例如数字、字符串等)组合成一个单一类型,这被称为联合类型。联合类型是一种表示具有多种类型的变量的强大方法。可以使用管道符号(‘|’)将两个或更多数据类型组合起来。
语法
(type1 | type2 | type3 | ........ | type-n)
示例
let value: number|string;
value = 120;
console.log("The Numeric value of a value is: "+value);
value = "Welcome to JavaTpoint";
console.log("The String value of a value is: "+value);
输出:
The Numeric value of the value is: 120
The String value of the value is: Welcome to JavaTpoint
将联合类型传递到函数参数中
在函数中,我们可以将联合类型作为参数传递。可以从下面的示例中了解它。
示例
function display(value: (number | string))
{
if(typeof(value) === "number")
console.log('The given value is of type number.');
else if(typeof(value) === "string")
console.log('The given value is of type string.');
}
display(123);
display("ABC");
输出:
The given value is of type number.
The given value is of type of string.
将联合类型传递给数组
TypeScript 允许将联合类型传递给数组。可以从下面的示例中了解它。
示例
let arrType:number[]|string[];
let i:number;
arrType = [1,2,3,4];
console.log("Numeric type array:")
for(i = 0;i<arrType.length;i++)
{
console.log(arrType[i]);
}
arrType = ["India","America","England"];
console.log("String type array:")
for(i = 0;i<arrType.length;i++)
{
console.log(arrType[i]);
}
输出:
Numeric type array:
1
2
3
4
String type array:
India
America
England
联合类型可以替代枚举。
枚举用于创建包含常量列表的类型。默认情况下,枚举具有索引值(0、1、2、3 等)。我们可以在以下示例中看到枚举,其中包含颜色列表。
示例
export enum Color {RED, BLUE, WHITE}
我们可以使用联合类型代替枚举,并以更短的方式获得类似的好处。
示例
export type Color = 'red' | 'white' | 'blue';
const myColor: Color = 'red';
console.log(myColor.toUpperCase());
输出:
RED