Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Apa Arti Proposal Sintaks Jenis ES Microsoft Untuk JavaScript

Posted on September 20, 2022

JavaScript akan segera memiliki tipe sintaks sendiri jika proposal yang diajukan oleh Microsoft dan pengembang lain awal tahun ini menjadi bagian dari standar ECMAScript. Inisiatif ini berencana untuk menambahkan dukungan “ketik sebagai komentar” ke bahasa JavaScript, membiarkan pengembang membubuhi keterangan kode dengan informasi jenis yang akan digunakan oleh komponen ekosistem lainnya.

Sintaks

Sintaks yang diusulkan terlihat seperti ini:

function sayAge(name: string, age: number)
{ 
console.log(`${name} adalah ${age} tahun.`);
}   
sayAge("JavaScript",26);

Ini akan akrab bagi siapa saja yang sebelumnya menggunakan TypeScript, superset JavaScript yang diketik Microsoft . TypeScript telah mendapatkan adopsi luas di seluruh industri; proposal baru ini dimaksudkan untuk membawa beberapa manfaatnya ke dunia JavaScript yang lebih luas.

Jika disetujui, proposal ini akan memungkinkan Anda menulis JavaScript yang benar-benar valid dengan jenis anotasi yang ditunjukkan di atas. Ini akan diterima oleh runtime JavaScript seperti browser web, Node.js, dan Deno yang menghormati ES standard.

. Proposal tidak benar-benar memperluas bahasa JavaScript. Anotasi jenis Anda akan persis seperti itu: metadata inert yang tidak berpengaruh pada kompiler JavaScript atau runtime kode Anda. Panggilan fungsi seperti berikut ini akan berfungsi saat runtime:

function sayAge(name: string, age: number){ console.log(`${name} is ${age} years old.`);}   // “age” adalah string yang seharusnya berupa angka, tetapi ini masih diperbolehkan sayAge(“JavaScript”,”twenty”);

Idenya adalah untuk menawarkan sintaks tipe baru yang secara resmi didukung tetapi sepenuhnya diabaikan oleh mesin. Satu-satunya perubahan untuk implementasi menyangkut pengenalan dan penghapusan anotasi jenis di mana pun mereka digunakan.

Proposal akan berusaha untuk membangun dukungan yang membuat anotasi jenis parameter, variabel, dan properti kelas. Itu juga melihat menambahkan kata kunci antarmuka, operator pernyataan seperti ! dan sebagai, dan ? pengubah untuk menandai jenis sebagai opsional. Tujuannya adalah agar semua elemen ini mencerminkan TypeScript; seperti halnya proposal Tahap 0, hasil akhirnya mungkin bekerja secara berbeda.

Jika jenis anotasi tidak akan mengubah program Anda, pertanyaan yang jelas adalah apakah mereka layak dimiliki. Proposal berpendapat “ya” karena kemampuan sintaks untuk mempersingkat waktu iterasi dan mengurangi beban di sekitar rantai alat JavaScript modern.

Menulis kode tipe-safe saat ini mengharuskan Anda menggunakan TypeScript, ragam bahasa berbeda yang menambahkan dependensi ke proyek Anda dan memerlukan manual langkah kompilasi. Kode itu kemudian dapat melewati alat lain seperti bundler modul dan transpiler sebelum JavaScript akhir Anda diproduksi untuk didistribusikan. Ini menambahkan hingga rantai alat yang kompleks dengan beberapa bagian yang bergerak.

Meskipun JavaScript adalah bahasa yang diketik secara inheren, manfaat pengetikan yang kuat sekarang diakui secara luas oleh komunitas. Ini terbukti dari momentum seputar proyek TypeScript. Pengetikan statis juga merupakan pemimpin yang jelas dalam pertanyaan “fitur yang hilang” dari survei State of JS tahun 2021.

Menambahkan sintaks jenis ke JavaScript itu sendiri akan memungkinkan Anda mendapatkan beberapa manfaat TypeScript tanpa harus mengkompilasi kode Anda. Ini menyederhanakan penyiapan dan pemeliharaan proyek sambil mengembangkan JavaScript agar lebih selaras dengan praktik pengembangan modern.

Selama beberapa tahun terakhir, lebih banyak kode telah mulai bermigrasi kembali ke pendekatan “JavaScript murni”. Penurunan browser lawas membuat transpilasi kurang diperlukan daripada sebelumnya – sebagian besar implementasi modern menawarkan dukungan penuh untuk fitur seperti kelas, fungsi panah, variabel cakupan blok, dan async/menunggu. JavaScript bahkan memiliki sistem modul lengkap yang bekerja di seluruh mesin, termasuk di browsers.

Hanya beberapa tahun yang lalu rantai alat yang panjang diperlukan untuk dapat menulis fitur-fitur ini ke dalam kode Anda dengan keyakinan bahwa itu akan berfungsi pada perangkat pengguna. Saat ini pengembang dapat dengan aman mengesampingkan proses pembangunan tersebut, kembali ke model JavaScript asli dari file referensi dengan tag.

Types adalah salah satu dari sedikit area tersisa dari ekosistem JavaScript yang tidak diakomodasi oleh bahasa itu sendiri. Suka atau benci mereka, tidak dapat disangkal bahwa tipe telah menjadi bagian integral dari pengembangan JavaScript untuk banyak tim dan proyek. Proposal sintaks secara resmi mengakui fakta ini. Ini mencoba untuk membawa tingkat dukungan tipe ke JavaScript tanpa merusak kode yang ada atau memaksakan pemeriksaan tipe runtime yang menekan kinerja.

Apa yang Sebenarnya Harus Dilakukan Tipe?

Peran “tipe” bervariasi antar bahasa. Demoninator umum terletak pada kemampuan tipe untuk mengekspresikan tipe data yang akan dimiliki oleh variabel tertentu. Makna, kemampuan, dan perilaku tambahan kemudian dilapiskan pada fondasi tersebut.

Dalam bahasa kompilasi yang diketik secara statis seperti C# dan Java, tipe diterapkan pada waktu kompilasi. Tidak mungkin untuk mengkompilasi sebuah program ketika Anda memiliki inkompatibilitas tipe dalam kode Anda. Dalam bahasa yang ditafsirkan dengan pengetikan kuat opsional, di mana PHP adalah contohnya, tipe diterapkan saat runtime – program membuat kesalahan saat tipe nilai tidak sesuai dengan konteks penggunaannya.

Perdebatan aktif dalam komunitas JavaScript adalah bagaimana sejauh mana sistem tipe bawaan harus diperluas. Proposal ini membatasi perannya pada elemen yang paling mendasar, dokumentasi sederhana dari tipe nilai yang diharapkan. Ini selaras dengan posisi TypeScript sebagai sintaks tipe yang dapat dihapus yang diabaikan saat runtime.

Tujuan dari model ini adalah untuk memberikan umpan balik instan kepada pengembang tentang potensi bug saat mereka menulis kode. Anda bisa mendapatkan informasi tentang masalah jenis saat Anda menulis JavaScript biasa di IDE yang kompatibel. Jika mau, Anda juga dapat menggunakan alat pendukung seperti TypeScript, penganalisis statis, atau bundler untuk mengaudit sumber sesuai permintaan. Hal ini dapat memblokir penerapan di saluran CI Anda ketika ada masalah jenis.

Perasaan saat ini adalah bahwa kemampuan ini cukup untuk menyelaraskan JavaScript dengan kebutuhan pengembang yang paling umum. Fitur yang ditemukan dalam bahasa lain seperti introspeksi dan refleksi biasanya tidak diperlukan dalam ekosistem JavaScript, sebagian karena pengembang telah terbiasa dengan pendekatan penghapusan TypeScript.

Alternatif yang Ada: Docblocks

Perlu dicatat bahwa sesuatu yang mirip dengan sintaks anotasi terhapus yang diusulkan sudah ada: Tag JSDoc yang familiar biasanya digunakan untuk menambahkan detail tipe ke kode JavaScript biasa:

/** * @param name {string} * @param age {number} */function sayAge(name, age){ console.log(`${ name} berusia ${age} tahun.`);}komentar

JSdoc didukung oleh berbagai alat populer. Namun, mereka bukan bagian standar dari bahasa dan mereka mengharuskan Anda untuk mencampur rincian operasi kode Anda – jenis yang diharapkan – dengan dokumentasi human-centric yang terdiri dari sintaks docblock.

JSdoc lainnya juga sangat bertele-tele. Selain nama tag yang diperlukan, biasanya memerlukan pengulangan elemen yang sudah ada dalam kode Anda, seperti nama parameter pada contoh di atas. Jika Anda mengubah parameter dalam tanda tangan fungsi, Anda harus ingat untuk mengubah tag JSDoc juga.

Proposal sintaks baru mungkin secara fungsional setara dengan docblock tetapi menawarkan pengalaman yang jauh lebih efisien. Jenis berada di samping target mereka sebagai bagian dari sumber Anda, bukan di docblock yang Anda perlukan untuk menulis dan memelihara secara terpisah.

Tim TypeScript Microsoft dan rekan penulis termasuk Bloomberg, Igwalia, dan beberapa kontributor independen mengajukan proposal Tahap 0 di pleno TC39 Maret 2022. Proposal tersebut telah berkembang ke Tahap 1. Penerimaan masih agak jauh, dengan implementasi di dalam mesin yang berpotensi tidak datang selama “bertahun-tahun”.

Tujuan menyeluruh proposal ini adalah untuk menyeimbangkan kode panjang JavaScript yang tidak diketik dengan permintaan saat ini untuk pengalaman pengembangan yang lebih diketik secara statis. Penggunaan sintaks opsional yang terhapus sepenuhnya menjamin kompatibilitas mundur tetapi meningkatkan prospek bahwa itu tidak akan efektif dalam mendorong adopsi dan mengkonsolidasikan ekosistem. Perdebatan seputar yang satu ini tampaknya akan berkembang dengan pendapat dan perspektif baru seiring dengan kemajuan proposal melalui track standar.

Itulah berita seputar Apa Arti Proposal Sintaks Jenis ES Microsoft Untuk JavaScript, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Inilah Bahaya Astute Beta Server APK, Jangan Sembarang Klik Link Download FF Kipas 2026!
  • Inilah Bahaya Nonton Film di LK21 dan IndoXXI, Awas Data Pribadi dan Saldo Rekening Kalian Bisa Ludes!
  • Inilah Kronologi & Video Lengkap Kasus Sejoli Tambelangan Sampang Viral, Ternyata Gini Awal Mulanya!
  • Inilah Alasan Kenapa Koin Nego Neko Shopee Nggak Bisa Dipakai Bayar Full dan Cara Rahasia Dapetinnya!
  • Inilah Cara Menjawab Pertanyaan Apakah di Sekolahmu Sudah Ada IFP/PID dengan Benar dan Profesional
  • Inilah Fakta Isu Roblox Diblokir di Indonesia 2026, Benarkah Akan Ditutup Total?
  • Inilah Penyebab dan Cara Mengatasi FF Kipas My ID Verify UID Biar Akun Tetap Aman
  • Inilah Deretan HP RAM 8GB Harga di Bawah 2 Juta Terbaik 2026, Spek Dewa Tapi Nggak Bikin Kantong Jebol!
  • Contoh Cara Buat SK Panitia TKA 2026
  • Inilah Cara Download Point Blank ID Versi Terbaru 2026, Gampang Banget Ternyata!
  • Inilah Persiapan Lengkap Gladi Bersih TKA 2026 SD dan SMP: Jadwal, Teknis Proktor, dan Aturan yang Wajib Kalian Tahu
  • Inilah Aturan Lengkapnya, Apakah Zakat dalam Bentuk Barang Bisa Mengurangi Pajak Penghasilan Kalian?
  • Inilah Kenapa KBLI Sangat Penting Buat Bisnis Digital dan Gini Caranya Biar Kalian Nggak Salah Pilih Kode
  • Inilah Fitur Keren ONLYOFFICE Docs 9.3, Cara Baru Edit PDF dan Dokumen Lebih Efisien!
  • Inilah Cara Banjir Komisi Shopee Affiliate Hanya Dalam 7 Hari Saja
  • Cara Download Aplikasi BUSSID Versi 3.7.1 Masih Dicari dan Link Download Aman Mediafire
  • Inilah Cara Lengkap Mengajukan SKMT dan SKBK di EMIS GTK 2026, Biar Tunjangan Cair Tanpa Drama!
  • Inilah Kenapa Bukti Setor Zakat Kalian Harus Ada NPWP-nya, Jangan Sampai Klaim Pajak Ditolak!
  • Inilah Cara Jadi Clipper Video Sukses Tanpa Perlu Tampil di Depan Kamera
  • Inilah Cara Upload NPWP dan Rekening di EMIS GTK Madrasah Terbaru, Jangan Sampai Tunjangan Terhambat!
  • Inilah Fakta di Balik Video Ukhti Sholat Mukena Pink Viral yang Bikin Geger Media Sosial
  • Belum Tahu? Inilah Langkah Pengisian Survei Digitalisasi Pembelajaran 2026 Biar Nggak Salah
  • Ini Kronologi Video Viral Ibu Tiri vs Anak Tiri Ladang Sawit Tiktok
  • Inilah Caranya Update Chromebook Sekolah Agar Siap Digunakan untuk TKA SD dan SMP
  • Inilah Caranya Menghindari Mafia Kontraktor Renovasi Nakal Supaya Budget Nggak Boncos
  • Inilah Trik Rahasia Tembus 4000 Jam Tayang YouTube Tahun 2026 Cuma Dalam 2 Hari
  • Inilah Rahasia Tomoro Coffee Bisa Singkirkan Semua Pesaing dan Ekspansi Massif Banget!
  • Inilah Kenapa AI Sering Jadi Kambing Hitam Saat PHK Massal, Padahal Masalahnya Bukan Itu!
  • Inilah Cara Baru Cepat Monetisasi YouTube Tanpa Trik Musik, Cuma 2 Bulan Langsung Cuan!
  • Inilah Kapan Pengumuman SNBP 2026 Jam Berapa Lengkap dengan Cara Cek Hasil Kelulusannya
  • Is the $600 MacBook Neo Actually Any Good? A Detailed Deep-Dive for Student!
  • Build Your Own Mini Data Center: A Guide to Creating a Kubernetes Homelab
  • How Enterprise Stop Breaches with Automated Attack Surface Management
  • The Roadmap to Becoming a Professional Python Developer in the AI Era
  • Why Your High Linux Uptime is Actually a Security Risk: A Lesson for Future Sysadmins
  • How to Use the Tiiny AI Pocket Lab to Run Local Large Language Models
  • AI SEO Tutorial With OpenClaw, Make Your Website Traffic from 0 to 780 Clicks Daily
  • How to Use SoulX FlashHead To Create The Best Talking Avatar for Free on Google Colab!
  • New Claude AI Memory: How to Seamlessly Sync ChatGPT to Anthropic in Minutes
  • Securing LLM with Agentverse (Secure and Scalable Inference)
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

©2026 emka.web.id | Design: Newspaperly WordPress Theme