Dalam TypeScript, interface adalah sebuah konsep penting yang digunakan untuk melakukan pengecekan tipe pada sebuah objek, sering disebut sebagai “duck typing” atau “structural subtyping”. Interface berfungsi sebagai kontrak yang mendefinisikan bentuk dan jenis data yang harus dimiliki oleh sebuah objek atau class.

interface Berjalan {
jalan: () => void;
}
class Manusia implements Berjalan = {
constructor() {
this.jalan = () => console.log("Berjalan");
}
}
class Hewan implements Berjalan = {
constructor() {
this.jalan = () => console.log("Berjalan");
}
}
const Mempunyai Kaki = (customer: Berjalan) => {
// Daripada mengizinkan hanya manusia
// untuk mempunyai kaki, kita bisa mengizinkan apa saja
// yang mengimplementasikan antarmuka Berjalan
// yaitu apa pun yang bisa berjalan.
}
Mempunyai Kaki (new Manusia());
Mempunyai Kaki (new Hewan());
Bagaimana kita menggunakannya? Ketika digunakan sebagai tipe, Interface memungkinkan kita untuk membagikan dan menggunakan hal-hal, dengan cara yang jauh lebih umum.
Mari ke contoh kasus penggunaan cepat untuk mendemonstrasikan ini.

interface IOrang {
name: string;
age: number;
isEmployed?: boolean;
getSalary: () => number;
}
Artikel Lainnya Dengan Kategori Terkait :
1. Belajar Typescript #01 | Memahami apa itu Typescript
2. Belajar Typescript #02 | Setup project Typescript
3. Belajar Typescript #03 | Konfigurasi compiler Typescript
4. Belajar Typescript #04 | Membuat code dan menjalankan Typescript
5. Belajar Typescript #05 | Basic types pada Typescript
6. Belajar Typescript #06 | Type data Boolean pada Typescript
7. Belajar Typescript #07 | Type data Number pada Typescript
8. Belajar Typescript #08 | Type data String pada Typescript
9. Belajar Typescript #09 | Type data Null dan Undefined pada Typescript
10. Belajar Typescript #10 | Type data Any pada Typescript
11. Belajar Typescript #11 | Type data Void pada Typescript
12. Belajar Typescript #12 | Object types pada Typescript
13. Belajar Typescript #13 | Object Literal pada Typescript
14. Belajar Typescript #14 | Type data Void pada Typescript
15. Belajar Typescript #15 Object types pada Typescript
16. Belajar Typescript #16 | Memahami dan menerapkan type aliases
17. Belajar Typescript #17 | Memahami dan menerapkan union types
18. Belajar Typescript #18 | Memahami dan menerapkan intersection types
19. Belajar Typescript #19 | Basic types lanjutan - Array
20. Belajar Typescript #20 | Basic types lanjutan - Tuples
21. Belajar Typescript #21 | Basic types lanjutan - Null
22. Belajar Typescript #22 | Basic types lanjutan - Undefined
23. Belajar Typescript #23 | Basic types lanjutan - Void
24. Belajar Typescript #24 | Basic types lanjutan - Never
25. Belajar Typescript #25 | Mengenal teknik lanjutan pada Typescript
26. Belajar Typescript #26 | Optional Parameter
27. Belajar Typescript #27 | Default Parameter
28. Belajar Typescript #28 | Return Type
29. Belajar Typescript #29 | Mendeklarasikan Fungsi - Tanpa Parameter
30. Belajar Typescript #30 | Mendeklarasikan Fungsi - Dengan Parameter
31. Belajar Typescript #31 | Mendeklarasikan Fungsi - Dengan Return Type
32. Belajar Typescript #32 | Mendeklarasikan Fungsi - Sebagai Variabel
33. Belajar Typescript #33 | Mendeklarasikan Fungsi - Sebagai Tipe Data
34. Belajar Typescript #34 | Function Call Signature
35. Belajar Typescript #35 | Menerapkan Types ke dalam class
36. Belajar Typescript #36 | Class declaration
37. Belajar Typescript #37 | Properties dan Methods
38. Belajar Typescript #38 | Object dan Properti dari sebuah class
39. Belajar Typescript #39 | Constructor
40. Belajar Typescript #40 | Konsep OOP - Inheritance
41. Belajar Typescript #41 | Konsep OOP - Abstraction
42. Belajar Typescript #42 | Konsep OOP - Encapsulation
43. Belajar Typescript #43 | Accessors
44. Belajar Typescript #44 | Member visibility / Access modifier
Mahardika Oktadiansyah - 15 Juli 2025
Belajar CSS Lanjutan #395 | CSS padding-inline Property
Mahardika Oktadiansyah - 15 Juli 2025
Belajar CSS Lanjutan #394 | CSS padding-bottom Property
Mahardika Oktadiansyah - 15 Juli 2025
Belajar CSS Lanjutan #393 | CSS padding-block-start Property