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

WebAssembly.Memory.prototype.buffer

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

Memory オブジェクトの buffer プロトタイププロパティはメモリに関連付けられているバッファを返します。

memory.buffer

次の例では (Github の memory.html と 動作例 もご確認ください) 、fetchAndInstantiate() ユーティリティ関数を使用して memory.wasm のバイトコードをフェッチしてインスタンス化します。そのあと、モジュールからエクスポートされたメモリにいくつかの値を格納し、エクスポートされた関数で値の合計します。

fetchAndInstantiate('memory.wasm').then(function(instance) {
  var i32 = new Uint32Array(instance.exports.mem.buffer);
  for (var i = 0; i < 10; i++) {
    i32[i] = i;
  }
  var sum = instance.exports.accumulate(0, 10);
  console.log(sum);
});

仕様

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

ブラウザ実装状況

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 is enabled in Firefox 52+, although disabled in the Firefox 52 Extended Support Release (ESR.)

[2] Currently supported behind the “Experimental JavaScript Features” flag. See this blog post for more details.

関連情報

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

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