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 4 Strategi Memilih Niche SEO Terbaik Supaya Blog Kalian Cepat Ranking
  • Ini Trik Supaya Pengunjung Toko Online Kalian Jadi Pembeli Setia Pakai Omnisend!
  • 3 Strategi AI Terbukti Biar Bisnis E-Commerce Kalian Makin Cuan 2026!
  • Inilah 6 Langkah Tembus 5.000 Follower di X, Gini Caranya Supaya Akun Kalian Nggak Stuck Lagi!
  • SEO LinkedIn: Inilah Alasan Kenapa LinkedIn Ads Lebih Efektif Buat Bisnis B2B Dibanding Platform Lain
  • Inilah Alasan Kenapa Kolom Komentar YouTube Kalian Sering Menghilang Secara Misterius!
  • Cara Kelola Auto-Posting Semua Media Sosial Kalian Pakai Metricool
  • Studi Kasus Sukses Instagram Maria Wendt Dapat 12 Juta View Instagram Per Bulan
  • ZenBook S16, Vivobook Pro 15 OLED, ProArt PX13, dan ROG Zephyrus G14, Laptop Bagus dengan Layar OLED!
  • Caranya Ngebangun Website Directory dengan Traffic Tinggi dalam Seminggu!
  • Cara Mengembangkan Channel YouTube Shorts Tanpa Wajah
  • Inilah Cara Menghitung Diskon Baju Lebaran Biar Nggak Bingung Saat Belanja di Mall!
  • Cara Jitu Ngebangun Bisnis SaaS di Era AI Pakai Strategi Agentic Workflow
  • Inilah Rincian Gaji Polri Lulusan Baru 2026, Cek Perbedaan Jalur Akpol, Bintara, dan Tamtama Sebelum Daftar!
  • Inilah 5 Channel YouTube Membosankan yang Diam-diam Menghasilkan Banyak Uang
  • Inilah Cara Pakai Google Maps Offline Biar Mudik Lebaran 2026 Nggak Nyasar Meski Tanpa Sinyal!
  • Inilah Alasan Mahkamah Agung Tolak Kasasi Google, Denda Rp202,5 Miliar Resmi Menanti Akibat Praktik Monopoli
  • Inilah Cara Daftar dan Syarat SPMB SMK Boarding Jawa Tengah 2026, Sekolah Gratis Sampai Lulus!
  • Inilah Daftar Sekolah Kedinasan 2026 untuk Lulusan SMK, Bisa Kuliah Gratis dan Berpeluang Besar Langsung Jadi CPNS!
  • Inilah Pajak TER: Skema Baru PPh 21 yang Nggak Bikin Pusing, Begini Cara Hitungnya!
  • Inilah Jadwal Resmi Jam Buka Tol Jogja-Solo Segmen Prambanan-Purwomartani Saat Mudik Lebaran 2026
  • Inilah Cara Mendapatkan Witherbloom di Fisch Roblox, Rahasia Menangkap Ikan Paling Sulit di Toxic Grove!
  • Kenapa Indomart Point Bisa Kalahkan Bisnis Kafe?
  • Inilah Cara Mendapatkan Rotten Seed di Fisch Roblox, Lokasi Rahasia di Toxic Grove Buat Unlock Toxic Lotus!
  • Inilah Cara Zakat Crypto Kalian Bisa Jadi Pengurang Pajak Berdasarkan Aturan Resmi Pemerintah!
  • Inilah Perbandingan Airwallex vs Payoneer 2026: Jangan Sampai Profit Kalian Ludes Gara-Gara Biaya Admin!
  • Inilah Roadmap 7 Tahap Bangun Bisnis Digital dari Nol Biar Nggak Cuma Putar-Putar di Tempat!
  • Inilah Cara Tetap Gajian dari YouTube Meski View Masih Ratusan, Penasaran?
  • Inilah Alasan Akun TikTok Affiliate GMV 270 Juta Kena Banned Permanen!
  • Inilah Bahaya Astute Beta Server APK, Jangan Sembarang Klik Link Download FF Kipas 2026!
  • Why is Your Laptop Touchpad Overheating? Here are the Causes and Fixes
  • How to Disable All AI Features in Chrome Using Windows 11 Registry
  • How to Avoid Problematic Windows Updates: A Guide to System Stability
  • What is Microsoft Visual C++ Redistributable and How to Fix Common Errors?
  • What is the 99% Deletion Bug? Understanding and Fixing Windows 11 File Errors
  • How to Use Orbax Checkpointing with Keras and JAX for Robust Training
  • How to Automate Any PDF Form Using the Power of Manus AI
  • How to Training Your Own YOLO26 Object Detection Model!
  • How to Build a Full-Stack Mobile App in Minutes with YouWare AI
  • How to Create Consistent Characters and Cinematic AI Video Production with Seedance
  • 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

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