TypeScript - Union

TypeScript 1.4 donne aux programmes la possibilité de combiner un ou deux types. Les types d'union sont un moyen puissant d'exprimer une valeur qui peut être l'un des différents types. Deux types de données ou plus sont combinés à l'aide du symbole de tuyau (|) pour désigner un type d'union. En d'autres termes, un type union est écrit comme une séquence de types séparés par des barres verticales.

Syntaxe: Union littérale

Type1|Type2|Type3

Exemple: variable de type Union

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)

Dans l'exemple ci-dessus, le type de la variable est union. Cela signifie que la variable peut contenir un nombre ou une chaîne comme valeur.

Lors de la compilation, il générera le code JavaScript suivant.

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

Sa sortie est la suivante -

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

Exemple: Type d'union et paramètre de fonction

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

La fonction disp () peut accepter l'argument de type chaîne ou d'un tableau de chaînes.

Lors de la compilation, il générera le code JavaScript suivant.

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

La sortie est la suivante -

Mark 
Printing names array…. 
Mark 
Tom
Mary
John

Type d'union et tableaux

Les types Union peuvent également être appliqués aux tableaux, aux propriétés et aux interfaces. Ce qui suit illustre l'utilisation du type union avec un tableau.

Exemple: type d'union et tableau

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

Le programme déclare un tableau. Le tableau peut représenter une collection numérique ou une collection de chaînes.

Lors de la compilation, il générera le code JavaScript suivant.

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

Sa sortie est la suivante -

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