开发手册 欢迎您!
软件开发者资料库

TypeScript - Union

TypeScript Union - 从简单和简单的步骤学习TypeScript,从基本到高级概念,包括概述,环境设置,基本语法,类型,变量,运算符,决策,循环,函数,数字,字符串,数组,元组,联盟,接口,类,对象,命名空间,模块,环境。

TypeScript 1.4使程序能够组合一种或两种类型.联合类型是表达可以是几种类型之一的值的强大方式.使用管道符号(|)组合两个或多个数据类型以表示联合类型.换句话说,union类型被写为由竖线分隔的类型序列.

语法:Union literal

Type1|Type2|Type3

示例:联盟类型变量

var val:string|number val = 12 console.log("numeric value of val "+val) val = "This is a string" console.log("string value of val "+val)

在上面的例子中,变量的类型是union.这意味着变量可以包含数字或字符串作为其值.

在编译时,它将生成以下JavaScript代码.

//Generated by typescript 1.8.10var val;val = 12;console.log("numeric value of val " + val);val = "This is a string";console.log("string value of val " + val);

其输出如下 :

numeric value of val  12 string value of val this is a string

示例:联合类型和函数参数

function disp(name:string|string[]) {    if(typeof name == "string") {       console.log(name)    } else {       var i;             for(i = 0;i

函数disp()可以接受字符串类型或字符串数组的参数.

在编译时,它将生成以下JavaScript代码.

//Generated by typescript 1.8.10function disp(name) {   if (typeof name == "string") {      console.log(name);   } else {      var i;      for (i = 0; i < name.length; i++) {         console.log(name[i]);      }   }}disp("mark");console.log("Printing names array....");disp(["Mark", "Tom", "Mary", "John"]);

输出如下 :

Mark Printing names array…. Mark TomMaryJohn

联盟类型和数组

联合类型也可以应用于数组,属性和接口.下面说明了union类型与数组的使用.

示例:联合类型和数组

var arr:number[]|string[]; var i:number; arr = [1,2,4] console.log("**numeric array**")  for(i = 0;i

程序声明一个数组.数组可以表示数字集合或字符串集合.

在编译时,它将生成以下JavaScript代码.

//Generated by typescript 1.8.10var arr;var i;arr = [1, 2, 4];console.log("**numeric array**");for (i = 0; i < arr.length; i++) {   console.log(arr[i]);}arr = ["Mumbai", "Pune", "Delhi"];console.log("**string array**");for (i = 0; i < arr.length; i++) {   console.log(arr[i]);}

其输出如下 :

**numeric array** 1 2 4 **string array** Mumbai Pune Delhi