BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

V8 5.1、ECMAScript準拠の改善とWASMをサポート

| 作者: Sergio De Simone フォローする 4 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年5月11日. 推定読書時間: 1分未満 |

原文(投稿日:2016/04/27)へのリンク

GoogleがJavaScriptエンジン V8のバージョン5.1を発表した。ECMAScript 2017ドラフト仕様への準拠を改善し、ネイティブに近い実行速度を狙った低レベルなポータブルなバイトコード、WASMの暫定サポートを追加する。

例によって、V8のリリースプロセスはChromeと結びついており、V8の5.1は最終的にChrome 51 Stableがリリースされた時に出る予定だ。

今回のリリースの最終ゴールは、ECMAScript 2015のサポートを97%にもっていくことだ。V8の5.1には以下が含まれている。

  • Symbol.speciesArray.prototype.mapのようなメソッドによって使われるオブジェクトのデフォルトコンストラクタを、サブクラスがオーバーライドできるようにする。例えば、mapで使われた時に、親クラスのコンストラクタを返すMyArrayクラスを定義することができる。
    class MyArray extends Array {
      // speciesを親のArrayコンストラクタにオーバーライト
      static get [Symbol.species]() { return Array; }
    }
    var a = new MyArray(1,2,3);
    var mapped = a.map(x => x * x);
    
    console.log(mapped instanceof MyArray); // false
    console.log(mapped instanceof Array);   // true
    
  • Symbol.hasInstanceは、コンストラクタがオブジェクトをそのインスタンスとして認識するかどうかを判別するためにオーバーライドを可能にする。
  • イテレータはループが停止する際に呼ばれるcloseメソッドをサポートする。
  • 独自のexecメソッドを定義することで、RegExpサブクラスが使用する正規表現アルゴリズムを変更できる。
  • nameプロパティによって、それらしい関数名を得ることができる。

V8 5.1にはWebAssembly (WASM)の暫定サポートが追加されている。簡単に言うと、WebAssemblyはネイティブに近い実行速度を狙った低レベルなポータブルなバイトコードだ。ありふれたハードウェアに依存しており、多数のプラットフォームで利用することができる。加えて、WASM ASTはコンパクトで効率の良いバイナリフォーマットになるように設計されており、サンドボックス環境で動作動するよう作られている。

V8 5.1では、for-inのようなループ実行、Promise、RegExpインスタンス化、Math演算など、多くのJavaScript機能のパフォーマンスが改善されている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT