Programavimas

ECMA pasiūlymas į „JavaScript“ įtrauktų įrašus ir rinkinius

Pagal „ECMA International“, standartų įstaigos, prižiūrinčios populiarią programavimo kalbą, skirtą žiniatinklio plėtrai, pasiūlymą „JavaScript“ įgytų rekordinių ir dvigubų vertės tipų.

Įrašai ir rinkiniai „Java“ sistemoje pristatytų dvi labai nekintamas duomenų struktūras: Įrašyti, į objektą panaši struktūra ir Tuple, į masyvą panaši struktūra. Plano projektas kartu su ECMA techniniu komitetu 39, kuris reglamentuoja „ECMAScript“, kuris yra pagrindinis „JavaScript“ elementas.

Įrašuose ir rinkiniuose, nurodoma pasiūlyme, gali būti tik primityvūs ir kiti įrašai bei rinkiniai. Jie gali būti laikomi „sudėtiniais primityviais“. Kruopščiai remdamiesi primityviais, jie yra labai nekintami. Pasiūlyme teigiama, kad objektai ir masyvai, įrašai ir rinkiniai palaiko patogias idėjas, susijusias su konstravimu, naudojimu ir manipuliavimu. Jie lyginami pagal turinį, o ne pagal tapatumą.

„JavaScript“ varikliai gali atlikti tam tikrus įrašų ir rinkinių konstravimo, manipuliavimo ir palyginimo optimizavimus, analogiškus stygų įgyvendinimui. Įrašai ir rinkiniai yra skirti naudoti ir juos suprasti su išorinio tipo sistemos rinkiniais, tokiais kaip „TypeScript“ arba „Flow“.

Šiuo metu naudotojų bibliotekose, tokiose kaip immutable.js, įgyvendinamos panašios koncepcijos. Ankstesniame ECMA pasiūlyme dėl nekintamų duomenų struktūrų buvo bandoma, tačiau jo atsisakyta dėl sudėtingumo ir nepakankamo naudojimo atvejų, teigiama pasiūlyme. Naujajame pasiūlyme pateikiami reikšmingi pakeitimai, kurie suteikia naudingumo pranašumų, palyginti su vartotojų bibliotekomis, pavyzdžiui:

  • Derintuve lengvai galima ieškoti įrašų ir rinkinių.
  • Norint parašyti bendrą biblioteką, kurioje sunaudojami nekintami ir JS objektai, nereikia papildomo išsišakojimo.
  • Vengiama naudoti atvejus, kai kūrėjai gali brangiai konvertuoti tarp įprastų JS objektų ir nekintamų struktūrų.

Įrašai ir rinkiniai gerai sąveikauja su objektais ir masyvais. Jas galima skaityti taip pat, kaip objektus ir masyvus. Pagrindinis skirtumas yra gilus nekintamumas ir palyginimas su verte, o ne su identitetu. Taip pat siūloma sintaksė žymiai pagerina naudojimo ergonomiką Įrašyti ir Tuple kode.

Naujausia „ECMAScript“ specifikacijos versija, 2020 m. Versija, buvo priimta birželio mėn. Tai pasižymėjo galimybėmis tokiose srityse kaip modulio įkėlimas ir naujas BigInt tipo.