Дорожная карта 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и trimRighт функции без стандартной спецификации. Для согласованности с padStart/padEnd, trimStart, trimEnd, trimLeft, и в trimRightнастоящее время предлагается в качестве псевдонимов для веб - совместимости.
  • Обновления для JSON.stringifyвывода правильно сформированного UTF-16 (формат преобразования Unicode). В настоящее время для суррогатных кодовых точек могут испускаться неправильно сформированные кодовые единицы.
  • Необязательная catchпривязка, позволяющая разработчикам опускать catchпривязку, когда привязка не будет использоваться.

Полную спецификацию ECMAScript 2019 можно посмотреть онлайн на сайте ECMA International. Его также можно скачать. Завершенные редакции ECMAScript обычно публикуются каждый июнь, например, прошлогодняя спецификация ECMAScript 2018.