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

  • Belum Tahu Cara Masuk Simpatika Terbaru? Ini Cara Login PTK EMIS GTK IMP 2026 Supaya Cek TPG Jadi Lebih Gampang!
  • Inilah Cara Bikin Konten Animasi AI Cuma Modal HP Supaya Bisa Gajian Rutin dari YouTube
  • Inilah Alasan Kenapa Zakat ke Ormas yang Belum Diakui Negara Nggak Bisa Dipakai Buat Ngurangin Pajak!
  • Inilah Cara Belanja di Indomaret Pakai Shopee PayLater yang Praktis dan Bikin Hemat!
  • Inilah 10 Jurusan Terfavorit di Universitas Negeri Semarang Buat SNBT 2026, Saingannya Ketat Banget!
  • Belum Tahu? Inilah Cara Mudah Membuat Akun dan Login EMIS GTK IMP 2026 yang Benar!
  • Cara Dapat Kode Kartu Hadiah Netflix Gratis Tanpa Ribet
  • Inilah Caranya Dapet Bukti Setor Zakat Resmi dari NU-Care LazisNU Buat Potong Pajak di Coretax!
  • Inilah 10 Jurusan Terfavorit di Universitas Brawijaya Buat SNBT 2026, Saingannya Ketat Banget!
  • Inilah Cara Terbaru Login dan Ubah Password Akun PTK di EMIS GTK IMP 2026
  • Inilah Batas Maksimal Zakat untuk Pengurang Pajak, Ternyata Begini Aturannya!
  • Inilah Cara Mengenali Aplikasi Bodong Penghasil Uang Agar Kalian Nggak Jadi Korban Penipuan Digital
  • Apa itu Error Kode LADK3 saat Buka Rekening Brimo? Dan Solusinya!
  • BOHONG??? Inilah Rincian Anggaran Makan Bergizi Gratis, Ternyata Uang Bahan Makanannya Nggak Sampai Rp15.000!
  • Inilah Tugas Proktor Ujian TKA SD/SMP 2026, Baca Dulu Ada Yang Beda!
  • Tips Pajak Coretax: Inilah Cara Memastikan Lembaga Amil Zakat yang Sah Agar Pajak Kalian Berkurang!
  • Kenapa FreeFire Advance Server Tidak Bisa Diunduh? Ini Penjelasannya!
  • Inilah Realita Biaya Hidup Mahasiswa di Bogor: Ternyata Nggak Semahal yang Kalian Kira!
  • Inilah Cara Blokir Email Spam di Gmail Biar Penyimpanan Nggak Gampang Penuh
  • Inilah Cara Aktivasi Keaktifan PTK di EMIS GTK IMP 2026 Biar Tunjangan Cair Lancar!
  • Inilah Cara Menilai Sumbangan yang Disetarakan dengan Uang Supaya Pajak Kalian Berkurang
  • Apa itu Pin di iMessage?
  • SKTP Nggak Muncul di Info GTK padahal Sudah Terbit? Ini Trik Rahasia Biar Data Langsung Update!
  • Ini Trik Nuyul Cari Cuan di Game Puzzle Farm 2026 Biar Koin Melimpah Tanpa Undang Teman
  • Inilah Ukuran Kertas Thermal 58mm ISO Di Word, Berapa dan Panduan Lengkap Memilihnya
  • Bukan Cuma Zakat! Ternyata Sumbangan Jenis Ini Bisa Ngurangin Pajak Kalian! Simak Penjelasannya
  • Inilah Caranya Mengajar Bahasa Indonesia di Amerika Serikat Lewat Beasiswa Fulbright FLTA 2026
  • Inilah 6 Rekomendasi HP yang Awet dan Tahan Lama Biar Kalian Nggak Gonta-ganti Terus!
  • Apa itu Proses BOP dan Psikotes BRI Life?
  • Ini Cara Input Tugas Tambahan Guru di EMIS GTK IMP 2026 Biar Jam Mengajar Aman!
  • How to Make Your Website Vibrate with Web Haptics
  • Measuring LLM Bullshit Benchmark
  • A Step-by-Step Guide to ZITADEL Identity Infrastructure
  • How NVIDIA G-SYNC Pulsar is Finally Fixing Motion Blur Forever
  • How Multipathing Keeps Your Linux Systems Running Smoothly!
  • Nano Banana 2: How to Bypassing Google’s Invisible SynthID Watermark
  • Qwen 3.5 Small Explained!
  • A Step-by-Step Guide to Integrating Claude Code with Jira and Confluence
  • How AI Agents Collaborate Using Global Standards
  • Why Your AI is Slow: Breaking Through the Memory Wall with Diffusion LLMs
  • 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 Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

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