Penghilang Tipe TypeScript
Memandu
Penghilang Tipe TypeScript
Penghilang Tipe TypeScript mengubah sumber TypeScript menjadi JavaScript yang bersih dan dapat dijalankan dengan menghapus setiap konstruksi yang ditambahkan oleh bahasa pada lapisan ECMAScript. Atribut tipe, deklarasi interface, alias tipe, parameter umum, enum, dekorator, dan pernyataan bukan nol dihapus dalam satu proses yang deterministik sambil mempertahankan logika runtime program secara tepat seperti yang ditulis.
Alat ini berjalan sepenuhnya di browser menggunakan API kompilasi TypeScript resmi, sehingga kode sumber Anda tidak pernah meninggalkan mesin Anda. Outputnya sama seperti yang dihasilkan oleh tsc untuk input yang sama, yang membuat penghilang tipe ini aman untuk memindahkan library, berbagi potongan kode dalam konteks JavaScript murni, memperbaiki perilaku setelah transpile, dan pindah dari TypeScript ketika proyek tidak lagi membutuhkannya.
Cara Penggunaan
- Tempel kode TypeScript Anda ke area input, atau drop sebuah
.tsatau.tsxdrag file ke pengunggah. - Pilih mode output: Hanya strip tipe mempertahankan sintaks modern, sementara target ES2020, ES2017, dan ES5 secara tambahan menurunkan fitur bahasa yang lebih baru.
- Pilih opsi pengelolaan JSX jika kode Anda mengandung ekspresi JSX, lalu aktifkan pemeliharaan JSDoc, penghapusan tipe hanya import, dan penghapusan komentar sesuai keinginan Anda.
- Output JavaScript Murni muncul di panel output segera setelah kompilasi selesai. Gunakan tombol salin atau unduh untuk mendapatkan hasilnya.
Fitur
- Transformasi pohon sintaks yang deterministik – Didasarkan pada kompilator TypeScript resmi sehingga output dapat dihasilkan secara tepat sesuai byte.
- Hanya strip atau penurunan level – Pilih antara penghapusan tipe murni atau transpilasi penuh ke ES2020, ES2017, atau ES5.
- Koverase bahasa lengkap – Menangani interface, alias tipe, generic, enum, dekorator, properti parameter, dan pernyataan bukan nol secara bersih.
- Paham JSX – Mempertahankan
.jsxoutput atau mengubah keReact.createElementpanggilan. - Kontrol komentar – Pertahankan blok JSDoc, hilangkan, atau hapus semua komentar untuk build produksi.
- Pembersihan import hanya tipe – Menghapus
import typepernyataan yang tidak lagi merujuk pada apa pun di runtime. - Privasi pertama – Semua hal berjalan di browser; tidak ada kode yang diunggah ke server apa pun.
- Laporan ukuran – Lihat berapa banyak byte yang disimpan oleh output yang dihilangkan dibandingkan dengan sumber asli.
Tanya Jawab Umum
-
Apa itu TypeScript dan bagaimana perbedaannya dengan JavaScript?
TypeScript adalah superset ketat dari JavaScript yang menambahkan annotasi tipe statis, interface, enum, generic, dan konstruksi lainnya pada waktu kompilasi. Kompilator TypeScript (tsc) memarsing konstruksi ini menjadi Pohon Sintaks Abstrak (AST) dan kemudian menghasilkan JavaScript yang sesuai standar dengan menghapus lapisan tipe. Karena tipe hanya ada pada waktu kompilasi, perilaku runtime dari TypeScript yang benar-benar ditypewriting identik dengan JavaScript yang dihasilkan oleh transpile.
-
Mengapa erasure tipe merupakan transformasi yang deterministik?
Erasure tipe merupakan transformasi yang deterministik karena beroperasi pada pohon sintaks yang diparsing, bukan pada teks mentah. Setiap node dalam pohon memiliki jenis eksplisit, dan kompilator menghapus node dengan jenis hanya tipe (seperti TypeAnnotation, InterfaceDeclaration, dan TypeAliasDeclaration) tanpa mengganggu ekspresi yang menghasilkan nilai. JavaScript yang dihasilkan olehnya jadi memastikan mempertahankan semantik ketika sumber secara sintaksis valid.
-
Apa itu target penurunan level ECMAScript dan mengapa itu penting?
Edisi ECMAScript (ES2017, ES2020, ES2022, dll.) menentukan fitur bahasa yang secara natif diimplementasikan oleh browser dan runtime. Target penurunan level menginstruksikan kompilator untuk mengubah fitur baru (optional chaining, async/await, class fields) menjadi kode setara yang dapat dijalankan oleh target yang lebih lama. Memilih target yang lebih rendah memperluas kompatibilitas namun dengan biaya ukuran output dan fungsi bantuan yang dihasilkan.
-
Bagaimana perbedaan antara file deklarasi dan kode runtime?
File deklarasi (.d.ts) hanya mengandung informasi tipe ambient: interface, alias tipe, tanda fungsi, dan bentuk modul. Saat dikompilasi, tidak menghasilkan kode runtime. File implementasi (.ts) menggabungkan deklarasi tipe dengan ekspresi runtime. Selama transpile, semua konten .d.ts hilang dan hanya bagian yang dapat dijalankan dari file .ts yang dihasilkan ke JavaScript.
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru ditambahkan pada 20 Juni 2026
