Новости и события » Hi-Tech » Утвержден стандарт ECMAScript 8 (2017)

Утвержден стандарт ECMAScript 8 (2017)

На очередном собрании Генеральной Ассамблеи ECMA официально утвержден стандарт ECMAScript 2017 (ECMAScript 8 или "ECMA-262 8th edition"), определяющий базовые функциональные возможности JavaScript. ECMAScript 8 был подготовлен в соответствии с представленным в прошлом году непрерывным процессом формирования стандартов ECMAScript, которые теперь выпускаются ежегодно и развиваются в рамках непрерывно обновляемого варианта спецификации ECMAScript Next.

В ECMAScript 8 вошли изменения, связанные с устранением недоработок и внесением уточнений к прошлым выпускам ECMAScript, а также добавлено несколько новшеств. В стандарт перенесены уже поддерживаемые браузерами возможности, поэтому ECMAScript 8 сразу доступен во всех основных браузерах и не требует дополнительного времени на реализацию.

Основные новшества:

  • Добавлены методы Object.values() и Object.entries(), который дополняют уже стандартизированный метод Object.keys и позволяют получить массив из значений и связок ключ/значение из объекта.
  • Добавлены методы String.prototype.padStart() и String.prototype.padEnd(), позволяющие организовать вывод строк с заполнением, например, выровнять консольный вывод или отображать числа с сохранением фиксированного размера путем добавления повторяющегося шаблона заполнения в начало или конец строки. Например, 'abc'.padEnd(10, "foo") выдаст "abcfoofoof", а 'abc'.padEnd(6,"123465") выдаст "abc123"; Object.getOwnPropertyDescriptors(), который возвращает все описания типов свойств для заданного объекта (например, value, set, get, writable и т. п.);
  • Включена поддержка функций async и оператора await, позволяющих упростить написание кода, выполняемого в асинхронном режиме. Конструкции с async/await значительно проще для восприятия и более читаемы, по сравнению с аналогичными конструкциями на основе механизма Promise;
  • Разрешено оставлять запятые после последнего элемента в массивах и объектах (например, "var arr = [1, 2, 3,];"). В массивах также можно оставлять незаполненные элементы (например, "var arr = [1, 2, 3,,,];") вместо которых останутся пустые значения;
  • Добавлен тип SharedArrayBuffer, позволяющий создавать массивы в разделяемой памяти, а также глобальный объект Atomics для организации выполнения атомарных операций с данными в разделяемой памяти, включая средства синхронизации блокировок примитивов.

Карл Пей представил новый дизайн Nothing OS 3.0

Карл Пей представил новый дизайн Nothing OS 3.0

Ожидается несколько нововведений. Например, можно будет выбрать один из трех вариантов оформления экрана блокировки: Default, Clock+Widgets и Expanded Widget Area. В первом случае на экране отображаются крупные часы и дата, во втором добавляются компактные...

сегодня 09:15

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх