TypeScript 联合类型

TypeScript 联合类型

TypeScript 1.4能够将一个或两个类型结合起来。联合类型是一种表达一个值可以是多个类型之一的强大方式。使用竖线(|)来表示联合类型,将两个或更多数据类型合并在一起。换句话说,联合类型被写成一系列由竖线分隔的类型。

语法: 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.10
var 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<name.length;i++) { 
         console.log(name[i])
      } 
   } 
} 
disp("mark") 
console.log("Printing names array....") 
disp(["Mark","Tom","Mary","John"])

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

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

//Generated by typescript 1.8.10
function 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 
Tom
Mary
John

联合类型和数组

联合类型也可以应用于数组、属性和接口。以下是使用联合类型与数组的示例。

示例: 联合类型和数组

var arr:number[]|string[]; 
var i:number; 
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]) 
}

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

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

//Generated by typescript 1.8.10
var 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程