Interface di TypeScript
Penjelasan
interface mendefinisikan "bentuk" (shape) sebuah objek — properti apa saja yang harus dimiliki beserta tipenya. Properti bisa ditandai opsional dengan ? (boleh tidak diisi) atau readonly (tidak boleh diubah setelah objek dibuat). Objek yang tidak sesuai bentuk interface-nya akan ditolak compiler.
Contoh Konsep
interface Siswa {
readonly id: number;
nama: string;
nilai?: number; // opsional, boleh tidak diisi
}
const siswa1: Siswa = {
id: 1,
nama: "Budi",
};
// siswa1.id = 2; // Error! readonly, tidak boleh diubah
siswa1.nilai = 90; // boleh, karena properti nilai memang ada di interface (walau opsional saat deklarasi)
console.log(siswa1.nama);
Praktikum
Buat interface Produk dengan properti readonly id: number, nama: string, dan harga: number. Buat objek const produk1: Produk dengan nilai bebas, lalu tampilkan nama dan harganya lewat console.log().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Properti opsional (?) beda dengan properti yang nilainya boleh undefined — properti opsional boleh TIDAK ADA sama sekali di objeknya, sedangkan tanpa tanda ? properti itu WAJIB ada meskipun nilainya undefined secara eksplisit.