Interface dan Type di TypeScript
Di TypeScript, baik interface maupun type digunakan untuk mendefinisikan struktur data atau kontrak untuk tipe data tertentu. Meskipun keduanya memiliki tujuan yang mirip, mereka memiliki perbedaan dalam cara mereka digunakan dan beberapa fitur yang tersedia.
Interface: Interface adalah kontrak yang mendefinisikan struktur data dengan cara yang jelas dan ekspresif. Interface dapat digunakan untuk mendeklarasikan bentuk objek, termasuk properti-properti yang harus ada, tipe data properti tersebut, dan metode yang harus diimplementasikan oleh objek tersebut. Contoh penggunaan interface dalam TypeScript:
interface Person { name: string; age: number; greet(): void; } let person: Person = { name: "John", age: 30, greet() { console.log("Hello, my name is " + this.name); } }; person.greet(); // Output: Hello, my name is JohnType: Type adalah fitur yang memungkinkan untuk memberikan nama pada tipe data yang ada atau membuat tipe data baru berdasarkan tipe data yang ada. dapat menggunakan
typeuntuk mendefinisikan tipe data sederhana, tipe data gabungan, atau tipe data yang kompleks. Contoh penggunaantypedalam TypeScript:type Point = { x: number; y: number; }; let p: Point = { x: 5, y: 10 };
Perbedaan utama antara interface dan type adalah:
Interface dapat digunakan untuk mendefinisikan objek, kelas, dan juga dapat digunakan sebagai kontrak untuk kelas dan objek, sementara
typedapat digunakan untuk mendefinisikan tipe data apa pun, termasuk tipe data sederhana, gabungan, atau kompleks.Interface dapat digunakan secara berganda untuk mendefinisikan struktur data yang serupa, sedangkan
typetidak dapat digunakan secara untuk mendefinisikan tipe data yang serupa.
Pilihan antara menggunakan interface dan type tergantung pada kebutuhan dan preferensi pengembang.
Sumber:
Last updated