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