Union types in TypeScript

Mit union types sind wir in TypeScript in der Lage, für eine Variable oder einen Funktions-Parameter mehrere Daten-Typen zu verwenden.

Syntax:


type1|type2|type3|...|typeN

Beispiel für eine Variable


let myVar: string|number;

myVar = 123; 		// OK
myVar = 'Hello World'; 	// OK
myVar = false; 		// Compiler Error

Die Variable myVar kann nun entweder vom Typ string oder number sein, was in bestimmten Fällen sehr praktisch ist.

Beispiel für einen Funktions-Parameter


function whichType(myVar: string|number)
{
	if (typeof(myVar) === 'string') {
		console.log('myVar is of type string');
	}
	else if (typeof(myVar) === 'number') {
		console.log('myVar is of type number');
	}
}

whichType(123); 		// Output: myVar is number.
whichType('Hello World'); 	// Output: myVar is string.
whichType([1, 2, 3]); 		// Compiler Error

Die Funktion whichType kann nun mit einem Parameter vom Typ string oder number aufgerufen werden. Wird die Funktion beispielsweise mit einem Array aufgerufen, gibt der Compiler einen Fehler aus.