Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Утверждён стандарт 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 и позволяют получить массив из значений или связок ключ/значение для хранящихся в объекте перечисляемых данных (позволяет раскрыть содержимое ассоциативного массива без перебора в "for in");
  • Добавлены методы String.padStart() и String.padEnd(), позволяющие организовать вывод строк с заполнением, например, выровнять консольный вывод или отображать числа с сохранением фиксированного размера путём добавления повторяющегося шаблона заполнения в начало или конец строки. Например, 'abc'.padEnd(10, "foo") выдаст "abcfoofoof", а 'abc'.padEnd(6,"123465") выдаст "abc123";
  • Добавлен метод Object.getOwnPropertyDescriptors(), который возвращает все описания свойств, определённых непосредственно в объекте и не наследованных из других объектов (например, позволяет узнать установлены ли свойства value, set, get, writable, enumerable и т.п.);
  • Включена поддержка деклараций функций async ("async function"), возвращающих объект AsyncFunction, а также оператора await, которые позволяют упростить написание кода, выполняемого в асинхронном режиме, не блокируя основной поток команд. Конструкции с async/await значительно проще для восприятия и более читаемы, по сравнению с аналогичными конструкциями на основе механизма Promise;
  • Разрешено оставлять запятые после последнего элемента списке параметров функций. Запятые можно оставлять как при определении, так и при вызове функций (например, "function f(a,b,)" и "f(1,2,)");
  • Добавлен тип SharedArrayBuffer, позволяющий создавать массивы в разделяемой памяти. Для обеспечения возможности писать и читать данные одновременно из нескольких потоков предложен глобальный объект Atomics, который позволяет организовать выполнение атомарных операций с данными в разделяемой памяти, включая средства синхронизации блокировок примитивов.

OpenNET

Ваш комментарий

Имя:

Текст комментария (HTML-теги не допускаются):

Новости мира IT:

Архив новостей

Последние комментарии:

Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...