Table of Contents
URL: https://www.progressiverobot.com/typescript-union-types/
In TypeScript you can use union types to describe values that can be of more than one type. It therefore allows to avoid using <^>any<^>. Define union types with the <^>|<^> character to separate the different possible types.
For example, let's say a function definition uses parameters that describe values that can be either strings or numbers. Instead of this:
function add(<^>v1: any, v2: any<^>) {
let value1 = typeof v1 === "string" ? +v1 : v1;
let value2 = typeof v2 === "string" ? +v2 : v2;
console.log(value1 + value2);
}
add(23, "32"); // 55
add(23, true); // No error when passing non-string or number value
You can do this:
function add(<^>v1: number | string, v2: number | string<^>) {
let value1 = typeof v1 === "string" ? +v1 : v1;
let value2 = typeof v2 === "string" ? +v2 : v2;
console.log(value1 + value2);
}
add(23, "32"); // 55
add(23, true); // Error when passing non-string or number value