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() の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
getChrome 完全対応 57Edge 完全対応 16Firefox 完全対応 52
補足
完全対応 52
補足
補足 Disabled in the Firefox 52 Extended Support Release (ESR).
IE 未対応 なしOpera 完全対応 44Safari 完全対応 11WebView Android 完全対応 57Chrome Android 完全対応 57Firefox Android 完全対応 52
補足
完全対応 52
補足
補足 Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android 完全対応 43Safari iOS 完全対応 11Samsung Internet Android 完全対応 7.0nodejs 完全対応 8.0.0

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報