V8リリース v4.7
· 約3分
およそ6週間ごとに、リリースプロセスの一環としてV8の新しいブランチが作成されます。それぞれのバージョンは、Chromeのベータ版マイルストーンのためにChromeがブランチ化される直前に、V8のGitマスターからブランチ化されます。本日は、私たちの最新のブランチ、V8バージョン4.7を発表できることを嬉しく思います。このバージョンはChrome 47の安定版と連動してリリースされるまでベータ版となります。V8 v4.7には開発者向けのさまざまな新機能が詰まっており、数週間後のリリースに向けて一部のハイライトをお届けします。
改良されたECMAScript 2015 (ES6) サポート
Rest オペレーター
Restオペレーターは、不定数の引数を関数に渡すことを可能にします。これはarguments
オブジェクトに似ています。
// Restオペレーターを使用しない場合
function concat() {
var args = Array.prototype.slice.call(arguments, 1);
return args.join('');
}
// Restオペレーターを使用する場合
function concatWithRest(...strings) {
return strings.join('');
}
今後のES機能サポート
Array.prototype.includes
Array.prototype.includes
は、ES2016に含まれるためのステージ3提案中の新しい機能です。これは指定された配列内に要素があるかどうかを判断する簡潔な構文を提供し、ブール値を返します。
[1, 2, 3].includes(3); // true
['apple', 'banana', 'cherry'].includes('apple'); // true
['apple', 'banana', 'cherry'].includes('peach'); // false
パース時のメモリ負荷の軽減
V8パーサーの最近の変更により、大きな入れ子関数を含むファイルを解析する際のメモリ消費が大幅に削減されました。特に、これにより以前より大きなasm.jsモジュールをV8で実行することが可能になりました。
V8 API
私たちのAPI変更サマリーをご覧ください。この文書は、各主要リリースの数週間後に定期的に更新されます。アクティブなV8チェックアウトを持つ開発者は、git checkout -b 4.7 -t branch-heads/4.7
を使用してV8 v4.7の新機能を試すことができます。あるいは、Chromeのベータ版チャンネルに登録することで、すぐに新機能を自分で試すことができます。