1 poin oleh GN⁺ 2025-12-16 | Belum ada komentar. | Bagikan ke WhatsApp
  • Pada 2023, PR refaktor di repositori Svelte yang beralih ke kode berbasis JSDoc menarik perhatian para skeptis TypeScript
  • Pihak Svelte menjelaskan bahwa ini bukan sikap anti-TypeScript, melainkan bagian dari ketergantungan berkelanjutan pada TypeScript
  • Artikel ini menekankan bahwa JSDoc dan TypeScript bukanlah dua hal yang berseberangan, melainkan JSDoc itu sendiri merupakan bagian dari TypeScript
  • TypeScript berperan sebagai mesin IntelliSense, yang menangani interpretasi komentar JSDoc sekaligus fitur autocompletion kode
  • Tanpa tahap build, JSDoc menyediakan kemampuan analisis statis yang sama, dan dalam proyek JS modern pada praktiknya menjalankan peran yang sama dengan TypeScript

PR Svelte dan latar belakang kontroversi

  • Pada Mei 2023, PR refaktor internal di repositori Svelte naik ke halaman depan Hacker News
    • PR ini mengubah deklarasi tipe di file .ts menjadi komentar JSDoc di file .js
    • Sebagian orang menafsirkan ini sebagai penolakan terhadap manfaat TypeScript
  • Pendiri Svelte, Rich Harris, menjelaskan langsung di HN bahwa “ini bukan anti-TypeScript”
    • Ia menyebut komitmen Svelte terhadap TypeScript tetap sangat kuat
  • Setelah kejadian ini, bermunculan banyak tulisan perbandingan “TypeScript vs JSDoc”, dan pandangan yang menilai JSDoc sebagai “TypeScript tanpa tahap build” pun semakin meluas

Asal-usul dan hakikat TypeScript

  • Pada akhir 2000-an hingga awal 2010-an, JavaScript dipandang sebagai bahasa yang kurang memiliki autocompletion dan keamanan tipe
    • Pengembang Microsoft merespons dengan menggunakan ScriptSharp untuk mengubah kode C# menjadi JS
  • Dalam latar belakang seperti itu, TypeScript lahir, dan pada dasarnya berawal sebagai alat build untuk meningkatkan pengembangan JS

TypeScript adalah IntelliSense

  • TypeScript bukan sekadar bahasa, tetapi juga berperan sebagai mesin IntelliSense
    • Bahkan tanpa memakai file .ts, fitur seperti autocompletion kode, informasi parameter, dan penelusuran simbol disediakan oleh language service TypeScript
    • Di sebagian besar editor, saat menulis kode JS pun layanan TypeScript berjalan di backend

TypeScript adalah JSDoc

  • Language service TypeScript juga digunakan untuk menafsirkan komentar JSDoc
    • CHANGELOG TypeScript sering memuat penambahan fitur yang berkaitan dengan JSDoc
    • Proyek berbasis JSDoc juga bisa dikonfigurasi dengan tsconfig.json, dan pemeriksaan tipe dapat dijalankan dengan perintah tsc
  • Karena itu, pengembang yang memakai JSDoc pada dasarnya juga sudah menggunakan TypeScript

Pengalaman dengan proyek berbasis JSDoc

  • Penulis membagikan pengalaman menulis ulang frontend proyek lama dengan komentar tipe berbasis JSDoc
    • Selain fitur runtime seperti enum, sebagian besar ekspresi TypeScript dapat diwujudkan dengan JSDoc
    • Generic memang punya sintaks yang agak rumit, tetapi justru mendorong pemanfaatan inferensi tipe secara lebih aktif
  • Dalam proyek JSDoc, saat mengklik fungsi, pengembang bisa langsung berpindah ke kode sebenarnya, sehingga pengalaman pengembangan meningkat
  • Ekosistem alat TypeScript juga bisa digunakan ulang dalam proyek JSDoc
    • Contoh: library yang menghasilkan tipe dari skema OpenAPI atau GraphQL juga dapat menghasilkan tipe dalam bentuk komentar JSDoc

Kesimpulan dan contoh tambahan

  • JSDoc bukan alternatif bagi TypeScript, melainkan berbagi sistem analisis statis yang sama
    • Dengan melewati tahap build, JSDoc tetap memberikan stabilitas tipe yang setara
  • Sebagai tambahan, disebut pula contoh proyek webpack yang dimigrasikan ke JSDoc
  • Sebagai pakar TypeScript, penulis dengan tegas menyatakan posisi bahwa “JSDoc adalah TypeScript

Belum ada komentar.

Belum ada komentar.