Optional Property (?) & Readonly

? menandai properti opsional (boleh diisi/tidak), dan readonly mencegah nilai properti diubah setelah inisialisasi.

👀 Contoh dulu

interface Product {
  readonly id: number;
  title: string;
  discount?: number;
}
const p: Product = { id: 10, title: 'Kopi' };
console.log(p.id, p.title);

Hasilnya: 10 Kopi

💡 readonly id mencegah perubahan yang tak disengaja.

📝 Sekarang giliranmu

Buat interface Student dengan readonly id: number, name: string, dan age?: number (opsional).

Preview