MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

WebAssembly.validate()

これは実験段階の機能です。
この機能は複数のブラウザーで開発中の状態にあります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザーの将来のバージョンで変更になる可能性があることに注意してください。

WebAssembly.validate() 関数は WebAssembly バイナリコードを含む 型付き配列 をバリデーションし、バイト列が有効な wasm モジュール (true) か、そうでないか (false) を返します。

構文

WebAssembly.validate(bufferSource);

パラメータ

bufferSource
バリデーションする WebAssembly バイナリコードを含む 型付き配列 か ArrayBuffer 。

戻り値

有効な wasm モジュール (true) か、そうでないか (false) を示す boolean 値。

例外

bufferSource が 型付き配列 か ArrayBuffer でない場合、TypeError がスローされます。

以下の例 (validate.html の ソースコード と 動作例 をご確認ください) は .wasm モジュールをフェッチして型付き配列に変換します。次に、 validate() メソッドを使用してモジュールが有効かどうかをチェックします。

fetch('simple.wasm').then(response =>
  response.arrayBuffer()
).then(function(bytes) {
  var valid = WebAssembly.validate(bytes);
  console.log("The given bytes are "
    + (valid ? "" : "not ") + "a valid wasm module");
});

仕様

仕様 策定状況 コメント
Web Assembly JavaScript API
validate() の定義
ドラフト 初回ドラフト定義。

ブラウザ実装状況

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 57 15[2] 52 (52)[1] 未サポート 44 11
Feature Chrome for Android Android Webview Edge Mobile Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 57 57 未サポート 52.0 (52)[1] 未サポート 未サポート 11

[1] WebAssemblyはFirefox 52+で有効です。Firefox 52 Extended Support Release (ESR.)では無効化されています。

[2] 現在、“Experimental JavaScript Features” フラグを付けることでサポートされます。詳細については このブログ記事 を参照してください。

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: syu_kato
 最終更新者: syu_kato,