Belajar TypeScript: Tipe Data, Interface, dan Generic

Muhammad Fajrul Amin
FullStack JavaScript Developer
TypeScript menambahkan sistem tipe statis ke JavaScript yang membantu mendeteksi bug lebih awal, meningkatkan keterbacaan kode, dan memberikan pengalaman developer yang lebih baik.
Mengapa Beralih ke TypeScript?
JavaScript adalah bahasa yang dinamis dan fleksibel, namun fleksibilitas ini bisa menjadi sumber bug yang sulit dilacak. TypeScript hadir untuk mengatasi masalah ini dengan menambahkan tipe statis yang diperiksa saat kompilasi, bukan saat runtime.
Tipe Data Dasar
TypeScript mendukung semua tipe primitif JavaScript: string, number, boolean, null, dan undefined. Selain itu, ada tipe khusus seperti any (hindari jika bisa), unknown, never, dan void untuk kasus-kasus tertentu.
Interface vs Type Alias
Interface dan type alias keduanya digunakan untuk mendefinisikan bentuk objek. Perbedaan utamanya adalah interface bisa di-extend dan di-merge secara deklaratif, sementara type alias lebih fleksibel untuk union types dan intersection types. Untuk objek, interface umumnya lebih disukai.
Generic: Kode yang Fleksibel dan Type-Safe
Generic memungkinkan kita menulis komponen atau fungsi yang bekerja dengan berbagai tipe data tanpa kehilangan informasi tipe. Contoh: fungsi identity<T>(arg: T): T bisa menerima dan mengembalikan nilai dari tipe apapun sambil tetap mempertahankan informasi tipe tersebut.
Utility Types
TypeScript menyediakan banyak utility types bawaan yang sangat berguna: Partial<T> membuat semua properti opsional, Required<T> membuat semua properti wajib, Pick<T, K> memilih subset properti, dan Omit<T, K> menghapus properti tertentu.
Kategori
Tutorial