Study
TypeScript

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().

Editor Latihan

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.