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