W3cubDocs

/JavaScript

WebAssembly.Memory.prototype.buffer

The read-only buffer prototype property of the WebAssembly.Memory object returns the buffer contained in the memory. Depending on whether or not the memory was constructed with shared: true, the buffer is either an ArrayBuffer or a SharedArrayBuffer.

Examples

Using buffer

The following example (see memory.html on GitHub, and view it live also) fetches and instantiates the loaded memory.wasm bytecode using the WebAssembly.instantiateStreaming() function, while importing the memory created in the line above. It then stores some values in that memory, exports a function, and uses the exported function to sum those values.

const memory = new WebAssembly.Memory({
  initial: 10,
  maximum: 100
});

WebAssembly.instantiateStreaming(fetch("memory.wasm"), { js: { mem: memory } })
  .then((obj) => {
    const summands = new Uint32Array(memory.buffer);
    for (let i = 0; i < 10; i++) {
      summands[i] = i;
    }
    const sum = obj.instance.exports.accumulate(0, 10);
    console.log(sum);
  });

Specifications

Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
buffer
57
16
52
No
44
11
57
57
52
43
11
7.0
1.0
8.0.0

See also

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory/buffer