Interface vs Type

Duration: 15 min  •  Difficulty: Medium

Keduanya digunakan untuk mendefinisikan "bentuk" (*shape*) dari sebuah objek.

Interface

Biasanya digunakan untuk mendefinisikan objek yang bisa di-*extend* (turunkan).

main.ts
interface User {
id: number;
name: string;
email?: string; // Tanda tanya (?) berarti opsional
}
const me: User = {
id: 1,
name: "Raffi"
};
console.log("Welcome,", me.name);

Type Alias

Lebih fleksibel, bisa digunakan untuk tipe data gabungan (*Union*).

main.ts
type ID = string | number;
let myID: ID = 123;
myID = "A-123"; // Kedua-duanya valid