Custom Type – Interface

Interface berfungsi untuk mendeskripsikan data dan behaviour dari object. Interface hanya digunakan pada TypeScript, tidak akan di-compile kedalam JavaScript.

Interface dapat dibayangkan sebagai cara untuk memberikan informasi kepada TypeScript untuk mencegah error pada hasil kompilasi.

Berikut contoh interface dengan nama Todo, memiliki 2 property name dengan type data string, dan completed dengan type data boolean.

Tanda tanya menunjukan property optional, boleh diisi atau tidak.

interface Todo {
    name: string;
    completed?: boolean;
}

Untuk menggunakan interface, assign ke variable. Perhatikan karena property completed adalah optional, kita dapat mengosongkan saat inisialisasi.

Ada dua cara untuk menggunakan interface, menggunakan tanda : atau cara casting dengan tanda <>, lihat contoh dibawah.

#cara pertama
var todo: Todo = {
    name: "Beli Indomie"
}

#cara kedua
var todo = <Todo>{
    name: "Beli Indomie"
}

Selain untuk property, interface juga dapat digunakan untuk mendefinisikan method. Berikut contohnya:

interface ITodoService {
    add(todo: Todo) : Todo;
    del(todoId: number) : void;
    getAll() : Todo[];
    getById(todoId: number) : Todo;
}
Sharing is caring:

Leave a Comment