Une union combine plusieurs types avec | : la valeur est de l'un d'entre eux. Un type littéral restreint une valeur à une constante précise, comme 'ok' ou 404. Associés, ils modélisent un ensemble fermé de valeurs possibles et permettent au compilateur de vérifier chaque cas.
Exemple
type Statut = 'brouillon' | 'publie' | 'archive';
let s: Statut = 'publie';