Пътна карта на ECMAScript: Нови функции на JavaScript за 2019 г.

ECMAScript 2019, последната версия на спецификацията, която служи като основа на JavaScript, е финализирана. ECMA International одобри спецификацията през юни.

Новите функции, въведени в ECMAScript 2019, включват следното:

  • Symbol.prototype.description, свойство за достъп, чието set accessorе недефинирано. Нейните get accessorФункциите изпълняват стъпки, включително: Позволявам sбъде тази стойност, нека symбъде ?thisSymbolValue(s)и връщане sym. [[Description]]. Целта на тази функция е да изложи [[Description]]вътрешния слот на символ директно, вместо само косвено Symbol.prototype.toString.
  • Промени в Function.prototype.toString. Предложени са ревизии, като например, че не се изисква изпълнението да запазва изходния текст за всички функции, дефинирани с помощта на ECMAScript код.
  • prototype.flatMap, обща операция с масив, която взема вложена структура на масив и премахва едно или повече нива на влагане в зависимост от неговия параметър. Flat съществува в библиотеки, подобни на масиви като Lodash, което е накарало потребителите да искат същата функционалност във ванилов JavaScript.
  • prototype.flatmap, карта, последвана от плосък, предлага леко удобство и лека оптимизация. Flatmap е удобен, защото изравняването и картографирането често са полезни при една и съща операция. Това също е оптимизация, защото няма нужда да се разпределя масив за картографирането, само за да се изхвърли при изравняване.
  • prototype.sort(), метод, който сортира елементите на масив на място и връща масива, вече е стабилен.
  • Object.fromEntries, предвиждащ нов статичен метод за трансформиране на списък от двойки ключови стойности в обект.
  • String.prototype.trimStartи String.prototype.trimEnd. Обосновката зад тези ревизии е, че всички основни двигатели са внедрили съответни trimLeftи trimRight функции без стандартна спецификация. За да има съгласуваност с padStart/padEnd, trimStart, trimEnd, trimLeft, и trimRightпредлагани като псевдоними за уеб съвместимост.
  • Актуализации за JSON.stringifyизлъчване на добре оформен UTF-16 (Unicode Transformation Format). Понастоящем може да се излъчат неправилно оформени кодови единици за сурогатни кодови точки.
  • Незадължително catchсвързване, позволяващо на разработчиците да пропуснат catchобвързване, когато обвързването няма да се използва

Пълната спецификация на ECMAScript 2019 може да бъде видяна онлайн на уебсайта на ECMA International. Той също може да бъде изтеглен. Попълнените издания на ECMAScript обикновено се публикуват всеки юни, като спецификацията на ECMAScript 2018 от миналата година.