Утверждён стандарт ECMAScript 7 (2016)
На очередном собрании Генеральной Ассамблеи ECMA официально утверждён стандарт ECMAScript 2016 (ECMAScript 7 или "ECMA-262 7th edition"), определяющий базовые функциональные возможности JavaScript. ECMAScript 7 примечателен переходом к новому непрерывному процессу формирования стандартов, которые планируется выпускать ежегодно. Напомним, что прошлый стандарт ECMAScript 6 был утверждён в июне прошлого года, спустя шесть лет с момента принятия ECMAScript 5, и содержал достаточно большую порцию новшеств, которые ещё не полностью реализованы в современных браузерах.
В отличие от ECMAScript 6 спецификация ECMAScript 7 содержит относительно немного изменений, которые развивались в рамках непрерывно обновляемого варианта спецификации ECMAScript Next. В стандарт из данной черновой спецификации были перенесены уже поддерживаемые браузерами возможности, поэтому ECMAScript 7 сразу доступен во всех основных браузерах и не требует дополнительного времени на реализацию.
В ECMAScript 7 вошли изменения, связанные с устранением недоработок и внесением уточнений к ECMAScript 6, а также добавлено несколько новшеств:
- Оператор "**" для возведения в степень. Например, вместо "Math.pow(x, y)" теперь можно указать "x ** y";
- Методы Array.prototype.includes() и TypedArray.prototype.includes() для определения наличия элементов в массиве. Напрмер, "[1, 2, 3].includes(2)" вернёт true, а "[1, 2, 3].includes(4)" вернёт false;
- Методы String.prototype.padStart() и String.prototype.padEnd() для доведения строки до заданного размера путём добавления повторяющегося шаблона заполнения в начало или конец строки. Например, 'abc'.padEnd(10, "foo") выдаст "abcfoofoof", а 'abc'.padEnd(6,"123465") выдаст "abc123";
- Для генераторов и методов генераторов больше не вызываются конструкторы;