TC39 dan sumbangannya kepada ECMAScript

Ramai orang keliru tentang apa itu JavaScript dan apa itu ECMAScript. Kadang-kadang sukar untuk mengetahui bagaimana mereka saling berhubungan dan apa peranan ECMA International dan TC39 dalam penyeragaman JavaScript.

Dalam catatan blog ini, saya akan membincangkan TC39 dan sumbangannya kepada ECMAScript.

Mari kita mulakan dengan semua istilah asas yang digunakan semasa membincangkan JavaScript dan ECMAScript.

Apa itu ECMAScript?

ECMAScript adalah bahasa skrip standard, dikembangkan dengan kerjasama Netscape dan Microsoft dan terutama berasal dari Netscape's JavaScript. JavaScript adalah bahasa skrip yang digunakan secara meluas yang digunakan di halaman Web untuk mempengaruhi penampilan dan tingkah laku pengguna.

ECMA-262 adalah standard yang diterbitkan oleh ECMA International. Ini berisi spesifikasi untuk bahasa skrip tujuan umum yang dikenal sebagai ECMAScript.

Sedikit lebih banyak mengenai JavaScript

JavaScript adalah bahasa skrip yang membolehkan anda membuat kandungan kemas kini secara dinamik, mengawal multimedia, menganimasikan gambar, dan melakukan hampir semua perkara lain. (Baiklah, bukan semuanya, tetapi sungguh mengagumkan apa yang dapat anda capai dengan beberapa baris kod JavaScript.)

Apa itu ECMA?

ECMA adalah organisasi standard untuk sistem maklumat dan komunikasi. ECMA bertujuan untuk mengembangkan piawaian dan laporan teknikal untuk memudahkan dan menyeragamkan penggunaan teknologi komunikasi maklumat dan elektronik pengguna. Ini mendorong penggunaan piawaian yang benar dengan mempengaruhi lingkungan di mana mereka diterapkan, dan menerbitkan piawaian dan laporan ini dalam bentuk elektronik dan cetak.

Dan sekarang, mari kenalkan orang-orang yang bekerja keras di sebalik ECMAScript: TC39.

Apa itu TC 39?

TC39 bermaksud Jawatankuasa Teknikal nombor 39. Ini adalah sebahagian daripada ECMA, institusi yang menyeragamkan bahasa JavaScript di bawah spesifikasi "ECMAScript". Ia berfungsi berdasarkan standardisasi tujuan umum, platform silang, bahasa pengaturcaraan vendor-netral iaitu ECMAScript. Ini merangkumi sintaks bahasa, semantik, perpustakaan, dan teknologi pelengkap yang menyokong bahasa.

TC 39 berfungsi pada :

  • Mengekalkan dan mengemas kini standard untuk bahasa pengaturcaraan ECMAScript.
  • Mengenal pasti, mengembangkan dan mengekalkan standard untuk perpustakaan yang memperluas kemampuan ECMAScript.
  • Membangunkan set ujian yang boleh digunakan untuk mengesahkan pelaksanaan standard ini dengan betul.
  • Menyumbang dengan standard terpilih kepada jawatankuasa ISO / IEC JTC 1.
  • Menilai dan mempertimbangkan cadangan untuk teknologi pelengkap atau tambahan.

Sejak ES6 keluar, TC 39 melancarkan proses penentuan proposal untuk memenuhi harapan moden. Proses baru menggunakan superset HTML untuk memformat proposal. Mereka menggunakan permintaan tarik GitHub, yang membantu meningkatkan penyertaan dari masyarakat. Jumlah cadangan yang dibuat juga meningkat.

Spesifikasi sekarang lebih dari taraf hidup, yang bermaksud bahawa proposal melihat penggunaan lebih cepat, dan kami tidak menghabiskan bertahun-tahun menunggu edisi baru spesifikasi keluar.

Pandangan yang lebih umum

Dengan membaca spesifikasi ECMAScript, anda belajar bagaimana membuatbahasa skrip. Dengan membaca dokumentasi JavaScript, anda belajar bagaimana menggunakan bahasa skrip tersebut.

Pemprosesan Cadangan

Peringkat 0: Strawman

Segala perbincangan, idea, perubahan, atau penambahan yang belum diserahkan sebagai proposal formal dianggap sebagai proposal "strawman" pada tahap ini. Hanya anggota TC39 yang dapat membuat cadangan ini, dan terdapat lebih dari belasan cadangan strawman aktif hari ini.

Peringkat 1: Cadangan

Pada tahap ini, sebuah proposal diformalkan dan diharapkan dapat mengatasi permasalahan lintas batas, interaksi dengan proposal lain, dan masalah pelaksanaan. Cadangan dalam tahap ini mengenal pasti masalah yang berbeza dan menawarkan penyelesaian konkrit untuk masalah itu.

Pada tahap ini, cadangan sering merangkumi penerangan API peringkat tinggi, contoh penggunaan, dan perbincangan mengenai semantik dan algoritma dalaman. Cadangan ini cenderung berubah dengan ketara ketika mereka melalui proses tersebut.

Peringkat 2: Draf

Cadangan dalam tahap ini harus menawarkan draf awal spesifikasi.

Pada ketika ini, adalah wajar bagi pelaksana untuk mula bereksperimen dengan pelaksanaan sebenar pada waktu runtime. Pelaksanaannya dapat datang dalam berbagai bentuk: polyfill, kod pengguna yang mengatur waktu proses untuk mematuhi proposal, implementasi mesin (yang secara asli memberikan sokongan untuk proposal), atau dapat disokong oleh penyusun waktu build seperti Babel.

Tahap 3: Calon

Cadangan dalam peringkat ini adalah cadangan calon. Pada tahap lanjutan ini, penyunting spesifikasi dan pengulas yang ditunjuk pasti telah menandatangani spesifikasi akhir. Cadangan Tahap 3 tidak mungkin akan berubah daripada memperbaiki masalah yang dikenal pasti di alam liar.

Pelaksana juga harus menyatakan minatnya terhadap cadangan itu - cadangan tanpa sokongan dari pelaksana sudah mati di dalam air. Dalam praktiknya, cadangan melangkah ke tahap ini dengan sekurang-kurangnya satu pelaksanaan penyemak imbas, polyfill kesetiaan tinggi, atau apabila disokong oleh transpiler waktu binaan seperti Babel.

Tahap 4: Selesai

Akhirnya, cadangan sampai ke tahap ini apabila terdapat sekurang-kurangnya dua pelaksanaan bebas yang lulus ujian penerimaan.

Apa yang akan datang?

Cadangan yang melangkah ke tahap 4 akan dimasukkan dalam semakan ECMAScript berikutnya. Apabila spesifikasi melalui ratifikasi tahunan sebagai standard, cadangan tersebut disahkan sebagai sebahagian daripadanya.

Ini adalah bagaimana idea untuk mengembangkan bahasa ECMAScript diterima dan ditambahkan pada semakan ECMAScript seterusnya. Dan kami semua berterima kasih atas kerja yang dilakukan oleh TC39, yang sangat berharga.

Dengan itu, kami telah sampai ke akhir perbincangan kami mengenai TC39 dan sumbangannya kepada ECMAScript.

Terima kasih untuk membaca.

Sumber: Proses TC 39, ECMA International