TypeScript 3.8 menambahkan impor dan ekspor khusus tipe

TypeScript 3.8, versi baru dari superset JavaScript yang diketik oleh Microsoft, sekarang tersedia sebagai rilis produksi. Pembaruan TypeScript terbaru menekankan impor dan ekspor hanya jenis dan kepatuhan standar ECMAScript.

Rilis ini menambahkan sintaks baru untuk impor dan ekspor khusus jenis, dengan tujuan memberikan pengguna kontrol yang lebih cermat atas impor dan penghapusan. The import typesintaks hanya impor deklarasi yang akan digunakan untuk jenis anotasi dan deklarasi dan selalu akan sepenuhnya terhapus. The  export type sintaks hanya menyediakan ekspor akan digunakan untuk jenis konteks dan dihapus dari output naskah.

TypeScript telah menggunakan sintaks impor JavaScript untuk mengaktifkan jenis referensi. Meskipun nyaman, kapabilitas tersebut hanya berfungsi karena fitur penghapusan impor, yang menghilangkan impor jenis TypeScript saat TypeScript mengeluarkan file JavaScript. Namun, penghapusan impor ternyata tidak mencukupi dan bermasalah.

Dalam hubungannya dengan  import type, naskah 3,8 juga menambahkan bendera compiler untuk mengontrol apa yang terjadi dengan impor yang tidak akan digunakan pada saat runtime:  importsNotUsedAsValues.

Mengenai standar ECMAScript untuk JavaScript, TypeScript 3.8 menambahkan dukungan untuk bidang pribadi ECMAScript, yang merupakan bagian dari proposal deklarasi bidang kelas untuk JavaScript. Bidang publik dan privat akan diintegrasikan menjadi satu kesatuan ortogonal, menurut proposal ini.

Perbaikan lain yang dijanjikan dalam TypeScript 3.8 meliputi:

  • Pemeriksaan jenis inkremental “Cepat dan longgar”, yang dilengkapi opsi kompiler assumeChangesOnlyAffectDirectDependencies,. Opsi ini dapat mengurangi waktu build dalam file tertentu, karena TypeScript hanya akan memeriksa ulang / membangun kembali file yang telah diubah serta file yang langsung mengimpornya. Direkomendasikan untuk basis kode besar di mana pengembang bersedia untuk menunda kesalahan proyek penuh sampai nanti.
  • Implementasi ekspor sebagai * nssintaks, menyediakan satu titik masuk untuk mengekspos semua anggota modul lain sebagai anggota tunggal.
  • Tingkat atas await, fitur ECMAScript yang akan datang untuk menghapus batasan penggunaan awaitekspresi di bagian atas file dalam kondisi tertentu.
  • File JavaScript didukung di TypeScript 3.8 dengan menyalakan allowJsbendera; pemeriksaan jenis file tersebut didukung melalui checkjsopsi atau dengan menambahkan // @ ts-check komentar ke bagian atas file .js. Tag JSDoc baru dimanfaatkan untuk properti, karena file JavaScript tidak memiliki sintaks khusus untuk pemeriksaan tipe.
  • Sebuah kolom watchOptionsdi tsconfig.jsondan jsconfig.jsonmemungkinkan pengguna memberi tahu layanan compiler / bahasa mana file menonton strategi yang digunakan untuk melacak file dan direktori.
  • Sebuah refactoring untuk mengubah penggabungan string.
  • Pemeriksaan penetapan yang lebih ketat ke serikat dengan tanda tangan indeks, perubahan yang dapat merusak.
  • Dalam perubahan lain yang melanggar, objectdi JSDoc tidak lagi di anybawah noImplicitAny.

Anda dapat menginstal rilis umum TypeScript 3.8 melalui NuGet atau melalui NPM:

npm install typescript