4 poin oleh GN⁺ 2025-03-25 | 4 komentar | Bagikan ke WhatsApp
  • TypeScript adalah bahasa yang menambahkan informasi tipe ke JavaScript
    • Informasi tipe dihapus sebelum dijalankan oleh mesin JS → artinya, diperlukan langkah tambahan dalam proses penulisan dan deployment
    • Apakah langkah tambahan itu sepadan? → Sangat sepadan

Pelengkapan otomatis dan deteksi error saat mengedit kode

  • TypeScript menyediakan pelengkapan otomatis dan deteksi error saat menulis kode
  • Contoh 1: typo, tipe yang salah, argumen yang hilang
    • Menampilkan error saat mengakses properti yang tidak ada. Juga tidak muncul dalam pelengkapan otomatis
    • Menampilkan error saat memanggil method dengan tipe yang salah
    • Menampilkan error jika argumen wajib tidak diberikan
    • Menampilkan error jika argumen dengan tipe yang salah dikirimkan
  • Contoh 2: error pada nilai balik fungsi
    • Menampilkan error jika nilai balik tidak cocok dengan tipe yang didefinisikan
    • Misalnya, jika nilai balik adalah string[] tetapi tipe balik didefinisikan sebagai string, maka akan terjadi error
  • Contoh 3: error dalam penanganan properti opsional
    • Jika properti opsional digunakan sebagai nilai balik dan tipenya tidak cocok, error akan ditampilkan
  • Contoh 4: ada case yang hilang dalam pernyataan switch
    • Jika tidak semua case dalam pernyataan switch ditangani, akan terjadi error
    • Error juga terjadi jika persyaratan bahwa nilai yang tersisa harus bertipe never dilanggar
  • Contoh 5: error saat menangani kasus tertentu dalam kode
    • Saat melakukan percabangan berdasarkan nilai tertentu, kasus yang salah akan memunculkan error
    • Misalnya, mengakses properti yang tidak ada pada tipe objek tertentu akan menyebabkan error

Menentukan tipe parameter fungsi dan tipe balik → berperan sebagai dokumentasi yang baik

  • TypeScript memungkinkan kita menentukan tipe parameter dan tipe balik fungsi
  • Meningkatkan pemahaman kode dan kemudahan pemeliharaan
  • Menjelaskan dengan jelas tipe argumen dan nilai balik sebuah fungsi

Memperkuat refactoring kode

  • TypeScript membantu melakukan refactoring kode dengan lebih aman
  • Saat nama method diubah, perubahan itu dapat diterapkan dengan aman ke semua kode yang terhubung
  • Hubungan antarbagian kode dapat dipahami dengan lebih akurat

Menggunakan TypeScript menjadi lebih mudah

  • Menjalankan dan mengompilasi TypeScript kini lebih mudah
  • TypeScript dapat dijalankan langsung di platform seperti Node.js, Deno, dan Bun
  • Bundler seperti Vite mendukung TypeScript secara bawaan
  • Diperkenalkannya teknik type stripping → hanya menghapus informasi tipe tanpa transformasi lain
  • Distribusi paket npm juga membaik → mendukung pembuatan otomatis file JavaScript dan deklarasi tipe

Kekurangan TypeScript

  • Ada kurva belajar → lebih kompleks daripada JavaScript
  • Masalah dapat muncul jika beberapa paket npm tidak memiliki definisi tipe atau definisinya salah
  • Konfigurasi tsconfig.json bisa terasa rumit
    • Masalah ini bisa dikurangi dengan menggunakan pengaturan seketat mungkin
    • Dengan type stripping yang makin jelas, peran tsconfig.json menjadi lebih sederhana

FAQ TypeScript

Apakah kode TypeScript terasa berat?

  • TypeScript memungkinkan penulisan kode dengan definisi tipe minimal berkat type inference
  • Tetap berguna tanpa anotasi tipe yang rumit

Apakah TypeScript mencoba mengubah JavaScript menjadi C# atau Java?

  • Pada awalnya, TypeScript menambahkan hal-hal seperti class, module, dan enum untuk melengkapi kekurangan JavaScript
  • Sekarang, TypeScript dikembangkan agar selaras dengan standar ECMAScript
  • Fitur yang tidak ada di JavaScript tidak akan ditambahkan ke TypeScript

Apakah TypeScript hanya mendukung pemrograman berorientasi objek (OOP)?

  • TypeScript juga mendukung pola functional programming dengan baik
  • Sebagai contoh, discriminated union sering digunakan dalam functional programming

Apakah definisi tipe yang rumit wajib dipelajari?

  • Dalam kebanyakan penggunaan TypeScript, definisi tipe sederhana sudah cukup
  • Definisi tipe yang rumit berguna saat menulis library, tetapi tidak diperlukan dalam penggunaan umum

Berapa lama waktu yang dibutuhkan untuk belajar TypeScript?

  • Konsep dasarnya bisa dipelajari dalam satu hari
  • Menulis dan debugging kode sederhana bisa dilakukan mulai hari berikutnya
  • Tipe yang lebih rumit dan fitur lanjutan bisa dipelajari secara bertahap

Bacaan selanjutnya

4 komentar

 
skrevolve 2025-03-26

Ada manfaat dari strong typing, dan hal yang sama juga berlaku di C++.

 
slowandsnow 2025-03-25

Rasanya seperti mengembangkan sambil merem lalu tiba-tiba bisa melihat ketika beralih dari JavaScript ke TypeScript. Rasa aman dari type, autocomplete, dan kombinasinya dengan Copilot.

 
bungker 2025-03-25

Tim-tim di perusahaan kami sempat menjalankan proyek sambil bilang JavaScript saja sudah cukup, tetapi sekarang semuanya sedang beralih ke TypeScript.

 
tsboard 2025-03-25

Bukan untuk menggantikan JavaScript, melainkan untuk melengkapinya; sepertinya inilah faktor keberhasilan TypeScript mengalahkan Dart. Saya benar-benar merasa beruntung telah mempelajarinya.