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

  • Apa itu Platform WeVerse? Ini Penjelasan Lengkapnya
  • Inilah Cara Mendapatkan 1000 Subscriber Cuma dalam 3 Hari Tanpa Edit Video Sama Sekali
  • Apa itu Shibal Annyeong yang Viral TikTok?
  • Apakah iPhone Inter Aman?
  • Kenapa Gemini AI Bisa Error Saat Membuat Gambar? Ini Penjelasannya!
  • Daftar Akun Moonton via Web Tanpa Aplikasi untuk MLBB
  • Cara Hapus Akun Terabox: Panduan Lengkap dan Aman
  • Khaby Lame’s $957M Digital Identity Deal Explained
  • Cek HP Anak, Apakah Ada Video Viral Cukur Kumis Bawah
  • Jika ATM Terpelanting, Apakah Saldo Aman?
  • Inilah 5 Rekomendasi Smartwatch Terbaik di Bawah Rp1 Jutaan
  • Siapa Daud Tony yang Ramal Jatuhnya Saham & Harga Emas-Perak?
  • Berapa Cuan Dari 1.000 Tayangan Reels Facebook Pro?
  • Apakah Jika Ganti Baterai HP, Data akan Hilang?
  • Apa itu Game Sakura School Simulator Solwa?
  • Hasil Benchmark Xiaomi Pad 8 Global Bocor! Siap-siap Masuk Indonesia Nih
  • KAGET! Ressa Rizky Rossano Akui Sudah Nikah & Punya Anak
  • Inilah Kronologi Ledakan Bom Rakitan SMPN 3 Sungai Raya, Kubu Raya Kalbar
  • Cara Mengatasi Error 208 BCA Mobile
  • Hapus Sekarang! Inilah Hornet, App LGBTQ Tembus Indonesia, Hati-hati
  • Berapa Lama Sih Ngecas HP 33 Watt? Ini Dia Penjelasannya!
  • Cara Cek Saldo Hana Bank Lewat SMS
  • Update Sistem Google Februari 2026: Apa yang Baru dan Perlu Kalian Tahu?
  • Membership FF Bulanan & Mingguan: Berapa DM yang Harus Kalian Siapkan?
  • Maksimal Ngecas HP Berapa Kali Sehari? Boleh 2 Kali Nggak, Sih?
  • Cara Mengatasi Error “Try Again, Open in Another App”
  • Sideload Android: Cara Pasang APK Tanpa Google Play Store (Panduan Lengkap 2026)
  • iPhone Jadi Kamera Vintage Modular? Proyek Kickstarter Ini Bikin Kagum!
  • Cara Mengatasi Video Nest Cam Bermasalah dan Video Hilang
  • iTunes Masih Jadi Rajanya Music? Ini Faktanya!
  • GNOME App Annotations Explained for Beginners
  • Navidrome 0.60 Released: Enhanced ‘Spotify Alternative’ for Linux Users
  • Cosmic Desktop 1.0.5: New Features Explained!
  • Libreboot 26.01 Released With New Board Support Explained
  • Adobe Animate Discontinued: What’s Next for Animators?
  • Cara Buat AI Asisten Pribadi dengan Teknik RAG
  • Cara Membuat Podcast dari PDF dengan NotebookLlama dan Groq
  • Tutorial Membuat Sistem Automatic Content Recognition (ACR) untuk Deteksi Logo
  • Apa itu Google Code Wiki?
  • Cara Membuat Agen AI Otomatis untuk Laporan ESG dengan Python dan LangChain
  • 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