TypeScript - Union

TypeScript 1.4 cung cấp cho các chương trình khả năng kết hợp một hoặc hai kiểu. Các kiểu liên kết là một cách hiệu quả để thể hiện một giá trị có thể là một trong một số kiểu. Hai hoặc nhiều kiểu dữ liệu được kết hợp bằng cách sử dụng ký hiệu ống dẫn (|) để biểu thị Loại Liên minh. Nói cách khác, một kiểu liên hợp được viết dưới dạng một chuỗi các kiểu được phân tách bằng các thanh dọc.

Cú pháp: Liên hợp ký tự

Type1|Type2|Type3

Ví dụ: Biến loại kết hợp

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)

Trong ví dụ trên, kiểu của biến là union. Nó có nghĩa là biến có thể chứa một số hoặc một chuỗi làm giá trị của nó.

Khi biên dịch, nó sẽ tạo mã JavaScript sau.

//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);

Đầu ra của nó như sau:

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

Ví dụ: Loại Liên minh và tham số hàm

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"])

Hàm disp () có thể chấp nhận đối số kiểu chuỗi hoặc một mảng chuỗi.

Khi biên dịch, nó sẽ tạo mã JavaScript sau.

//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"]);

Kết quả như sau:

Mark 
Printing names array…. 
Mark 
Tom
Mary
John

Loại Liên minh và Mảng

Các kiểu liên kết cũng có thể được áp dụng cho mảng, thuộc tính và giao diện. Sau đây minh họa việc sử dụng kiểu liên hợp với một mảng.

Ví dụ: Kiểu Liên hợp và Mảng

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]) 
}

Chương trình khai báo một mảng. Mảng có thể đại diện cho tập hợp số hoặc tập hợp chuỗi.

Khi biên dịch, nó sẽ tạo mã JavaScript sau.

//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]);
}

Đầu ra của nó như sau:

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