メインコンテンツまでスキップ

V8リリース v5.0

· 約3分
V8チーム

V8のリリースプロセスでの最初のステップは、Gitマスターから新しいブランチを作成することです。この作業はおおよそ6週間ごとにChrome BetaマイルストーンのためにChromiumがブランチする直前に行われます。我々の最新のリリースブランチはV8 v5.0で、Chrome 50 Stableと併せて安定版をリリースするまでベータ版として維持されます。このバージョンのV8での開発者向け新機能のハイライトを以下に示します。

注記

注記: バージョン番号5.0は、意味論的な意義を持つものではなく、大きなリリースとしてマークされることはありません(小さなリリースと区別して)。

改善されたECMAScript 2015 (ES6) サポート

V8 v5.0は、正規表現(regex)マッチングに関連する多くのES2015機能を含んでいます。

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フラグはまた、.アトム(単一文字マッチャーとも呼ばれる)が基本多言語面(BMP)内の文字だけでなく、任意のUnicode記号をマッチするようになります。

const string = 'the 🅛 train';

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

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

RegExpカスタマイズフック

ES2015には、正規表現サブクラスがマッチングの意味論を変更できるフックが含まれています。サブクラスはSymbol.matchSymbol.replaceSymbol.search、およびSymbol.splitという名前のメソッドをオーバーライドして、String.prototype.matchなどのメソッドに対する正規表現サブクラスの動作を変更することができます。

ES2015およびES5機能における性能改善

リリース5.0では、すでに実装されているES2015およびES5機能にいくつかの注目すべき性能改善がもたらされます。

レストパラメータの実装は前のリリースよりも8〜10倍速くなり、多くの引数を関数呼び出し後に単一の配列にまとめる操作がより効率的になります。オブジェクトの列挙可能なプロパティをfor-inによって返される順序で反復するために使用されるObject.keysは、約2倍速くなりました。

V8 API

API変更の概要をご確認ください。この文書は、各主要リリース後数週間で定期的に更新されます。

アクティブなV8チェックアウトを持つ開発者はgit checkout -b 5.0 -t branch-heads/5.0を使用してV8 5.0の新機能を試すことができます。あるいはChrome's Betaチャンネルに登録して、すぐに新機能を自分で試してみることもできます。