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
输出:
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