📘

Pengantar dan Keunggulan TypeScript

Apr 1, 2025

Catatan Kuliah: Pengenalan TypeScript

Pengenalan TypeScript

  • TypeScript adalah bahasa pemrograman open source yang merupakan superset dari JavaScript.
  • Memperkenalkan tipe statis (static typing) untuk meningkatkan produktivitas developer.
  • Dikembangkan oleh Microsoft, dirilis pada tahun 2012.
  • Didesain untuk memperbaiki kelemahan JavaScript dalam pengembangan aplikasi besar.

Perbedaan TypeScript dan JavaScript

  • Tipe Statis: TypeScript mendukung tipe statis, sedangkan JavaScript tidak.
  • Deteksi Error: TypeScript mendeteksi error pada compile-time, sedangkan JavaScript pada runtime.
  • Kompilasi: TypeScript harus dikompilasi menjadi JavaScript sebelum digunakan.
  • Pemrograman Berorientasi Objek: TypeScript mendukung OOP dengan fitur seperti kelas, interface, dan pewarisan.

Kenapa Menggunakan TypeScript?

  • Meningkatkan manajemen kode dalam tim besar.
  • Memudahkan refactoring dengan alat seperti intellisense.
  • Mendukung fitur modern dari ECMAScript sebelum diterapkan di semua browser.

Instalasi TypeScript

  1. Instal Node.js dan NPM.
  2. Instal TypeScript secara global dengan perintah npm install -g typescript.
  3. Verifikasi instalasi dengan tsc -v.

Tipe Data Dasar di TypeScript

  • String: untuk menyimpan teks.
  • Number: untuk bilangan bulat dan desimal.
  • Boolean: untuk nilai benar atau salah.
  • Array: koleksi nilai dengan tipe yang sama.
  • Tuple: array dengan jumlah elemen tetap dan tipe data berbeda.

Tipe Data Lainnya

  • Object: menyimpan pasangan key-value.
  • Any: tipe data fleksibel yang menonaktifkan type checking.
  • Union Types: memungkinkan variabel memiliki lebih dari satu tipe data.
  • Literal Types: membatasi variabel agar hanya bisa menyimpan nilai tertentu.

Type Aliases dan Interface

  • TypeScript memungkinkan penggunaan type aliases dan interfaces untuk mendefinisikan bentuk objek.
  • Type Aliases: dapat menerima berbagai tipe data, termasuk primitif.
  • Interfaces: lebih ketat dan mendukung merging (penggabungan).

OOP di TypeScript

  • TypeScript memperluas JavaScript dengan fitur OOP.
  • Class: blueprint untuk membuat objek.
  • Inheritance: memungkinkan kelas baru mewarisi properti dan metode dari kelas lain.
  • Modifiers: mengatur visibilitas properti dan metode (public, private, protected, readonly).

Utility Types

  • Partial: membuat semua properti dari tipe menjadi opsional.
  • Required: menjadikan semua properti dari tipe menjadi wajib.
  • Readonly: mengatur properti agar hanya bisa dibaca.
  • Pick: memilih subset dari properti tertentu.
  • Omit: menghapus properti tertentu dari tipe.
  • Record: membuat tipe objek dengan key yang dipetakan ke nilai tertentu.
  • Extract: menghasilkan tipe yang mengandung elemen dari tipe lain.
  • Exclude: menghapus elemen dari tipe.
  • NonNullable: menghilangkan null dan undefined dari tipe.
  • ReturnType: menghasilkan tipe dari nilai kembalian fungsi.
  • InstanceType: menghasilkan tipe dari instance kelas.

Kesimpulan

  • TypeScript adalah alat yang kuat untuk pengembangan aplikasi yang besar dan kompleks.
  • Menggunakan TypeScript membantu menjaga konsistensi tipe, meningkatkan produktivitas, dan mengurangi kesalahan dalam pengembangan perangkat lunak.