ECMAScript-färdplan: Nya JavaScript-funktioner för 2019

ECMAScript 2019, den senaste versionen av specifikationen som ligger till grund för JavaScript, har slutförts. ECMA International godkände specifikationen i juni.

De nya funktionerna som introducerades i ECMAScript 2019 inkluderar följande:

  • Symbol.prototype.description, en accessoregenskap vars set accessorodefinierade. Dess get accessorfunktion utför steg inklusive: Låt svara detta värde, låt symvara ?thisSymbolValue(s)och återvänd sym. [[Description]]. Målet med denna funktion är att exponera den [[Description]]inre platsen för en symbol direkt istället för endast indirekt genom Symbol.prototype.toString.
  • Ändringar av Function.prototype.toString. Revisioner har föreslagits, till exempel att implementeringar inte krävs för att behålla källtext för alla funktioner som definierats med ECMAScript-kod.
  • prototype.flatMap, en gemensam array-operation som tar en kapslad array-struktur och tar bort en eller flera nivåer av kapsling beroende på dess parameter. Flat finns i arrayliknande bibliotek som Lodash, vilket har lett till att användare vill ha samma funktionalitet i vanilj JavaScript.
  • prototype.flatmap, en karta följt av en lägenhet, erbjuder en liten bekvämlighet och lätt optimering. Flatmap är bekvämt eftersom plattning och kartläggning ofta är användbara i samma operation. Det är också en optimering eftersom det inte finns något behov av att allokera en matris för kartläggningen bara för att kasta bort den vid planing.
  • prototype.sort(), en metod som sorterar elementen i en array på plats och returnerar arrayen, är nu stabil.
  • Object.fromEntriessom tillhandahåller en ny statisk metod för att omvandla en lista med nyckelvärdepar till ett objekt.
  • String.prototype.trimStartoch String.prototype.trimEnd. Motivet bakom dessa revisioner är att alla större motorer har implementerat motsvarande trimLeftoch trimRight-funktioner utan en standardspecifikation. För överensstämmelse med padStart/padEnd, trimStart, trimEnd, trimLeft, och trimRighthåller på att föreslås som alias för webbkompatibilitet.
  • Uppdateringar för JSON.stringifyatt avge välformad UTF-16 (Unicode Transformation Format). För närvarande kan illformade kodenheter sändas ut för surrogatkodpunkter.
  • Valfri catchbindning, vilket gör det möjligt för utvecklare att utelämna en catchbindning när bindningen inte skulle användas.

Den fullständiga ECMAScript 2019-specifikationen kan ses online på ECMA International-webbplatsen. Det kan också laddas ner. Färdiga ECMAScript-utgåvor publiceras vanligtvis varje juni, till exempel förra årets ECMAScript 2018-specifikation.