📜  TypeScript Union

📅  最后修改于: 2021-01-11 12:28:53             🧑  作者: Mango

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