← TypeScript18 / 43
Discriminated Union
Discriminated Union adalah pola di mana setiap interface dalam union memiliki satu properti pembeda yang sama (misal kind atau status).
👀 Contoh dulu
type Shape =
| { kind: "circle"; radius: number }
| { kind: "square"; side: number };
const c: Shape = { kind: "circle", radius: 7 };
console.log(c.kind);Hasilnya: circle
💡 Memeriksa shape.kind akan otomatis mempersempit properti yang tersedia.
📝 Sekarang giliranmu
Buat type alias State berbentuk Discriminated Union. State pertama memiliki status: "success" dengan payload data: string, sedangkan state kedua memiliki status: "error" dengan pesan message: string.
Preview