TypeScript - Union Type Definition and Usage
What is Union Type?
A Union Type is a combination of two or more types.
For example, if there are multiple data types,
ts
interface Square {
kind: 'square'
size: number
}
interface Rectangle {
kind: 'rectangle'
width: number
height: number
}
interface Circle {
kind: 'circle'
radius: number
}
The Union Type is defined as follows:|
ts
type Shape = Square | Rectangle | Circle
Type Inference for Union Types
In TypeScript, the Type Inference to deduce each type. When checking TypeScript, use the TypeScript Playground You can check it out online.
ts
const getArea = (shape: Shape) => {
if (shape.kind === "square") {
// If you use the properties of Rectangle
// and Circle here, a type error occurs.
return shape.size * shape.size;
}
// The rest is ommited
}