Tipe union menyatakan bahwa sebuah nilai boleh berupa salah satu dari beberapa tipe, ditulis dengan tanda garis tegak di antaranya. Union juga bisa dibentuk dari nilai tertentu, bukan hanya dari tipe.
type Id = number | string;
type Status = "baru" | "dikirim" | "selesai";
let nomor: Id = 42;
nomor = "INV-2026-0001";
const status: Status = "dikirim";Union dari nilai tertentu membuat kompiler menolak teks lain, misalnya "batal", sehingga salah ketik tertangkap sebelum kode dijalankan. Pada nilai bertipe union, hanya operasi yang tersedia di semua anggotanya yang boleh langsung dipakai.