WebAssembly.Table.prototype.get()
get()
は WebAssembly.Table
オブジェクトのプロトタイプメソッドで、指定されたインデックスに格納された関数参照を取得します。
構文
table.get(index);
引数
- index
- 取得する関数参照のインデックス。
返値
関数参照を返します。これは エクスポートされた WebAssembly 関数 、wasm 関数を内在する JavaScript ラッパーです。
例外
もし index が Table.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)()
) 。これは単純な値ではなく、関数です。
仕様書
ブラウザーの互換性
BCD tables only load in the browser