WebAssembly.Table.prototype.get()

get()WebAssembly.Table オブジェクトのプロトタイプメソッドで、指定されたインデックスに格納された関数参照を取得します。

構文

table.get(index);

引数

index
取得する関数参照のインデックス。

返値

関数参照を返します。これは エクスポートされた WebAssembly 関数 、wasm 関数を内在する JavaScript ラッパーです。

例外

もし indexTable.prototype.length 以上だった場合、RangeError をスローします。

次の例では (Github の table.html動作例 も確認してください)、fetchAndInstantiate() ユーティリティ関数を使用して table.wasm バイトコードをロード、コンパイルして、インスタンス化しています。その後、エクスポートされたテーブルに格納された参照を取得します。

WebAssembly.instantiateStreaming(fetch('table.wasm'))
.then(function(obj) {
  var tbl = obj.instance.exports.tbl;
  console.log(tbl.get(0)());  // 13
  console.log(tbl.get(1)());  // 42
});

参照内に格納されている値を実際に取得するためには、アクセサの最後に2つ目の関数呼び出し演算子を含める必要があります(get(0) ではなく get(0)()) 。これは単純な値ではなく、関数です。

仕様書

仕様書
WebAssembly JavaScript Interface
get() の定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報