Перейти к основному содержимому

Релиз V8 версии v5.0

· 2 мин. чтения
команда V8

Первым шагом в процессе выпуска V8 является создание новой ветки из главной ветки Git сразу перед появлением ветки Chromium для этапа Chrome Beta (примерно каждые шесть недель). Наша новейшая ветка релиза - V8 v5.0, которая останется в бета-версии до выпуска стабильной сборки вместе с Chrome 50 Stable. Вот ключевые нововведения для разработчиков в этой версии V8.

примечание

Примечание: Номер версии 5.0 не имеет семантического значения или не указывает на крупный релиз (в отличие от минорного релиза).

Улучшенная поддержка ECMAScript 2015 (ES6)​

V8 v5.0 включает ряд новых функций ES2015, связанных с регулярными выражениями (regex).

Флаг RegExp Unicode​

Флаг RegExp Unicode, u, включает новый режим Unicode для работы с регулярными выражениями. Флаг Unicode интерпретирует шаблоны и строки регулярных выражений как последовательность кодовых точек Unicode. Также становится доступен новый синтаксис для экранирования кодовых точек Unicode.

/😊{2}/.test('😊😊');
// false

/😊{2}/u.test('😊😊');
// true

/\u{76}\u{38}/u.test('v8');
// true

/\u{1F60A}/u.test('😊');
// true

Флаг u также заставляет атом . (также известный как одиночный символ) соответствовать любому символу Unicode, а не только символам из базовой многоязычной плоскости (BMP).

const string = 'the 🅛 train';

/the\s.\strain/.test(string);
// false

/the\s.\strain/u.test(string);
// true

Пользовательские хуки для RegExp​

ES2015 включает хуки для подклассов RegExp, чтобы изменять семантику совпадений. Подклассы могут переопределять методы Symbol.match, Symbol.replace, Symbol.search и Symbol.split для изменения поведения методов, таких как String.prototype.match, для подклассов RegExp.

Улучшения производительности функций ES2015 и ES5​

Версия 5.0 также принесла несколько заметных улучшений производительности уже реализованных функций ES2015 и ES5.

Реализация параметров rest стала быстрее в 8-10 раз по сравнению с предыдущей версией, что делает сборку большого количества аргументов в массив после вызова функции более эффективной. Object.keys, полезный для итерации по перечисляемым свойствам объекта в том же порядке, что используется for-in, теперь примерно в 2 раза быстрее.

API V8​

Ознакомьтесь с резюме изменений API. Этот документ регулярно обновляется через несколько недель после каждого крупного релиза.

Разработчики с активной копией V8 могут использовать git checkout -b 5.0 -t branch-heads/5.0 для экспериментов с новыми функциями V8 5.0. Либо вы можете подписаться на бета-канал Chrome и вскоре самостоятельно протестировать новые функции.