Ringkasan BAB 7
Selamat! 🎉
Section titled “Selamat! 🎉”Kamu telah menyelesaikan BAB 7: Interface & Type Alias! Ini adalah bab penutup kelompok pemodelan data struktural. Kamu sekarang telah menguasai seluruh konsep yang mendefinisikan identitas utama dari bahasa TypeScript dibanding JavaScript biasa.
Interface Cheat Sheet
Section titled “Interface Cheat Sheet”Deklarasi & Implementasi
Section titled “Deklarasi & Implementasi”interface Siswa { readonly nis: number; nama: string; email?: string; // opsional}
const s: Siswa = { nis: 1001, nama: "Putra" }Pewarisan (Extends)
Section titled “Pewarisan (Extends)”interface Orang { nama: string }interface Guru extends Orang { nip: number }Type Alias Cheat Sheet
Section titled “Type Alias Cheat Sheet”Deklarasi Objek & Primitif
Section titled “Deklarasi Objek & Primitif”type Tahun = number;type Siswa = { nama: string };Union (|) & Intersection (&)
Section titled “Union (|) & Intersection (&)”type ID = string | number; // Union (ATAU)type Staf = Identitas & Karyawan; // Intersection (DAN)Literal & Enum
Section titled “Literal & Enum”type Status = "Lulus" | "Remedial";
enum Peran { Siswa = "SISWA", Guru = "GURU"}Tabel Perbandingan Akhir
Section titled “Tabel Perbandingan Akhir”| Fitur | interface |
type Alias |
|---|---|---|
| Tujuan Utama | Mendefinisikan kontrak objek | Memberikan alias tipe kustom |
Sintaks = |
Tanpa = |
Wajib memakai = |
| Penggabungan (Merging) | Bisa (otomatis digabung jika nama sama) | Tidak bisa (error duplicate identifier) |
Union (|) |
Tidak bisa langsung | Bisa (sangat sering digunakan) |
| Primitif / Tuple | Tidak bisa | Bisa |
| Pewarisan | extends |
& (intersection) |
Kapan Memakai Mana?
Section titled “Kapan Memakai Mana?”- Gunakan
interfacesecara default jika kamu merancang objek standar yang akan diwarisi (extends) oleh tipe objek lain atauclassOOP. - Gunakan
typejika kamu membutuhkan union type (string | number), literal type, atau alias tipe primitif sederhana.
Checklist BAB 7
Section titled “Checklist BAB 7”- Memahami perbedaan fungsi Interface dan Type Alias
- Bisa membuat
interfaceobjek standar - Bisa menggunakan
interfacesebagai parameter function - Bisa menggunakan
extendsuntuk pewarisan interface - Menggunakan properti opsional
?pada interface - Menggunakan
readonlyuntuk mengunci nilai properti - Bisa membuat
typealias - Menguasai union type
|dan type guardingtypeof - Menguasai intersection type
&untuk menggabungkan type objek - Menggunakan literal type untuk membatasi opsi nilai
- Bisa membuat dan menggunakan
enum - Menyelesaikan Studi Kasus dan Mini Project
- Menyelesaikan 10 Challenge BAB 7
Latihan Penutup
Section titled “Latihan Penutup”Tanpa melihat panduan, buat file src/bab7/review-bab7.ts:
- Buat enum
KategoriBuku(Komputer, Novel, Sains). - Buat interface
Dokumen(readonly id string/number, judul string). - Buat interface
Bukuyang meng-extendsDokumendan menambah propertikategori(KategoriBuku) serta properti opsionalpenulis(string). - Buat objek
bukuAlengkap bertipeBuku. - Buat fungsi
cetakBuku(b: Buku)yang menampilkan detail buku dan aman dari error properti opsional menggunakan??. Tampilkan hasilnya.
Pesan untuk Kamu
Section titled “Pesan untuk Kamu”Dengan menyelesaikan BAB 7, kamu kini telah memahami mengapa TypeScript menjadi bahasa favorit perusahaan teknologi skala besar. Kemampuannya merancang tipe data terstruktur dengan interface dan type alias membuat kode aman dari error tipe, terstandardisasi, dan sangat mudah dipelihara.
Persiapkan dirimu untuk petualangan berikutnya. Teruslah berkarya!