Programmering

ECMAScript-køreplan: Nye JavaScript-funktioner til 2019

ECMAScript 2019, den seneste version af specifikationen, der tjener som basis for JavaScript, er afsluttet. ECMA International godkendte specifikationen i juni.

De nye funktioner introduceret i ECMAScript 2019 inkluderer følgende:

  • Symbol.prototype.beskrivelse, en ejendom med adgang, hvis indstil accessor er udefineret. Dens få adgang funktion udfører trin inklusive: Lad s være denne værdi, lad sym være ?thisSymbolValue (s)og vende tilbage sym.[[Beskrivelse]]. Målet med denne funktion er at udsætte [[Beskrivelse]] intern slot til et symbol direkte i stedet for kun indirekte igennem Symbol.prototype.toString.
  • Ændringer til Function.prototype.toString. Revisioner er blevet foreslået, såsom implementeringer, der ikke er nødvendige for at bevare kildetekst for alle funktioner defineret ved hjælp af ECMAScript-kode.
  • prototype.flatMap, en almindelig matrixhandling, der tager en indlejret matrixstruktur og fjerner et eller flere niveauer af indlejring afhængigt af dens parameter. Flat findes i array-lignende biblioteker som Lodash, hvilket har ført til, at brugerne ønsker den samme funktionalitet i vanilje JavaScript.
  • prototype.flatmap, et kort efterfulgt af en lejlighed, tilbyder en let bekvemmelighed og let optimering. Flatmap er praktisk, fordi fladning og kortlægning ofte er nyttige i samme operation. Det er også en optimering, fordi der ikke er behov for at allokere en matrix til kortlægningen bare for at kassere den, når den flades ud.
  • prototype.sort (), en metode, der sorterer elementerne i en matrix på plads og returnerer arrayet, er nu stabil.
  • Object.fromEntries, der indeholder en ny statisk metode til at omdanne en liste med nøgleværdipar til et objekt.
  • String.prototype.trimStart og String.prototype.trimEnd. Begrundelsen bag disse revisioner er, at alle større motorer har implementeret tilsvarende trimVenstre og trimRight fungerer uden en standardspecifikation. For sammenhæng med padStart / padEnd, trimStart, trimEnd, trimVenstreog trimRight foreslås som alias for webkompatibilitet.
  • Opdateringer til JSON.stringify at udsende velformet UTF-16 (Unicode Transformation Format). I øjeblikket kan dårligt dannede kodeenheder udsendes til surrogatkodepunkter.
  • Valgfri fangst bindende, så udviklere kan udelade en fangst binding, når bindingen ikke ville blive brugt.

Den fulde ECMAScript 2019-specifikation kan ses online på ECMA International-webstedet. Det kan også downloades. Afsluttede ECMAScript-udgaver udgives typisk hver juni, såsom sidste års ECMAScript 2018-specifikation.