1 poin oleh GN⁺ 2023-07-09 | 1 komentar | Bagikan ke WhatsApp
  • Pengguna TypeScript meminta fitur yang dapat menghasilkan informasi tipe saat runtime.
  • Karena tidak adanya informasi tipe runtime, serialisasi dan validasi menjadi sulit tanpa kode boilerplate yang berlebihan atau pembuatan kode.
  • Solusi yang ada seperti io-ts dan zod tidak cukup untuk semua kasus penggunaan.
  • Pengguna TypeScript mendesak agar tim TypeScript memprioritaskan penyelesaian masalah serialisasi ini serta memberikan panduan atau merekomendasikan library.
  • Tampaknya ada konflik antara tujuan desain TypeScript dan kebutuhan akan informasi tipe runtime.
  • Pengguna lebih memilih menggunakan interface, sehingga mereka tidak ingin menyelesaikan masalah ini dengan dekorator.
  • Fungsi tingkat tinggi atau fitur yang mirip dengan F# Type Providers atau C# Source Generators akan disambut baik.
  • Penulis berjanji akan mengirim kue dan es krim kepada tim TypeScript jika mereka menyelesaikan masalah ini, kalau bisa di TypeScript 4.3.

1 komentar

 
GN⁺ 2023-07-09
Komentar Hacker News
  • Diskusi tentang permintaan akan reflection/tipe runtime di TypeScript
  • Beberapa komentator menganggap pokok masalah dalam artikel tidak jelas dan disampaikan dengan canggung.
  • Peran TypeScript adalah mengompilasi ke JavaScript, dan tidak menyediakan keamanan tipe saat runtime.
  • Proyek TypeScript berupaya membangun anotasi tipe yang kuat dan logika validasi tipe runtime.
  • Beberapa komentator menentang penambahan pemeriksaan tipe runtime ke TypeScript, dengan alasan hal itu akan menciptakan bahasa baru di atas JavaScript.
  • Sudah ada pustaka untuk validasi tipe runtime di JavaScript, dan permintaan ini pada dasarnya adalah menjadikan satu pilihan sebagai standar.
  • Beberapa komentator lebih memilih menggunakan type guard atau pustaka eksternal untuk pemeriksaan tipe runtime.
  • Tujuan desain TypeScript adalah agar semantik runtime-nya sama dengan JavaScript, kecuali untuk enum.
  • Ekosistem di sekitar TypeScript bergantung pada penghapusan tipe secara penuh, dan menambahkan tipe runtime akan memerlukan perubahan besar pada alat yang sudah ada.
  • Beberapa komentator menyatakan ketidakpuasan terhadap keterbatasan TypeScript jika dibandingkan dengan bahasa bertipe statis lainnya.
  • Seorang komentator menyarankan bahwa permintaan untuk serialisasi dan deserialisasi otomatis atas tipe TypeScript dapat diimplementasikan sebagai pustaka.