TypeScript - Union
Mit TypeScript 1.4 können Programme einen oder zwei Typen kombinieren. Unionstypen sind eine leistungsstarke Methode, um einen Wert auszudrücken, der einer der verschiedenen Typen sein kann. Zwei oder mehr Datentypen werden mithilfe des Pipe-Symbols (|) kombiniert, um einen Union-Typ zu kennzeichnen. Mit anderen Worten, ein Vereinigungstyp wird als eine Folge von Typen geschrieben, die durch vertikale Balken getrennt sind.
Syntax: Union-Literal
Type1|Type2|Type3
Beispiel: Union Type Variable
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)
Im obigen Beispiel ist der Variablentyp union. Dies bedeutet, dass die Variable entweder eine Zahl oder eine Zeichenfolge als Wert enthalten kann.
Beim Kompilieren wird folgender JavaScript-Code generiert.
//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);
Seine Ausgabe ist wie folgt -
numeric value of val 12
string value of val this is a string
Beispiel: Union Typ und Funktionsparameter
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"])
Die Funktion disp () kann Argumente vom Typ string oder ein String-Array akzeptieren.
Beim Kompilieren wird folgender JavaScript-Code generiert.
//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"]);
Die Ausgabe ist wie folgt -
Mark
Printing names array….
Mark
Tom
Mary
John
Union-Typ und Arrays
Union-Typen können auch auf Arrays, Eigenschaften und Schnittstellen angewendet werden. Das Folgende veranschaulicht die Verwendung des Vereinigungstyps mit einem Array.
Beispiel: Union Type und Array
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])
}
Das Programm deklariert ein Array. Das Array kann entweder eine numerische Sammlung oder eine Zeichenfolgensammlung darstellen.
Beim Kompilieren wird folgender JavaScript-Code generiert.
//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]);
}
Seine Ausgabe ist wie folgt -
**numeric array**
1
2
4
**string array**
Mumbai
Pune
Delhi