Programmering

ECMA-forslaget vil føre poster og tupler til JavaScript

JavaScript vil få rekord- og tupelverdityper under et forslag før ECMA International, standardorganet som fører tilsyn med det populære programmeringsspråket for webutvikling.

Records og tuples vil introdusere to dypt uforanderlige datastrukturer til JavaScript: Ta opp, en objektlignende struktur, og Tuple, en array-lignende struktur. Et utkast til planen med ECMA Technical Committee 39, som styrer ECMAScript, standarden for JavaScript.

Registreringer og tupler, heter det i forslaget, kan bare inneholde primitiver og andre poster og tupler. De kan betraktes som "sammensatte primitiver." Og ved å være grundig basert på primitiver, er de dypt uforanderlige. I likhet med objekter og matriser støtter poster og tupler komfortable uttrykk for konstruksjon, bruk og manipulasjon, heter det i forslaget. De sammenlignes med innhold snarere enn etter identitet.

JavaScript-motorer kan utføre visse optimaliseringer for konstruksjon, manipulering og sammenligning av poster og tupler, analogt med hvordan strenger implementeres. Records og tuples er ment å være brukbare og forstås med eksterne supersett-typer som TypeScript eller Flow.

Foreløpig implementerer brukerlandsbiblioteker som immutable.js lignende konsepter. Et tidligere ECMA-forslag for uforanderlige datastrukturer ble forsøkt, men forlatt på grunn av kompleksitet og mangel på tilstrekkelige brukssaker, heter det i forslaget. Det nye forslaget introduserer betydelige endringer og gir fordeler over brukervennlighet i forhold til brukerlandsbiblioteker som følgende:

  • Records og tuples er lett introspekterbare i en feilsøkingsprogram.
  • Ingen ekstra forgrening er nødvendig for å skrive et generisk bibliotek som bruker uforanderlige og JS-objekter.
  • Brukstilfeller unngås der utviklere dyrt kan konvertere mellom vanlige JS-objekter og uforanderlige strukturer.

Plater og tupler fungerer godt sammen med gjenstander og matriser. De kan leses på samme måte som objekter og matriser. Hovedforskjellen fokuserer på dyp uforanderlighet og sammenligning etter verdi i stedet for identitet. Den forbedrede syntaksen forbedrer også ergonomien ved bruk Ta opp og Tuple i kode.

Den siste versjonen av ECMAScript-spesifikasjonen, versjon 2020, ble vedtatt i juni. Den inneholdt muligheter innen områder som modulinnlasting og en ny BigInt type.

$config[zx-auto] not found$config[zx-overlay] not found