[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/WebAssembly/Reference/JavaScript_interface/Memory/grow [Back]  [Original]

WebAssembly.Memory.prototype.grow() - WebAssembly | MDN

MDN Web Docs

View in English Always switch to English

WebAssembly.Memory.prototype.grow()

Baseline

201710

grow() WebAssembly.Memory WebAssembly

js
grow(delta)

delta

WebAssembly ( 64KiB ) "i64" BigInt

WebAssembly "i64" BigInt

grow

WebAssembly 1 (64KiB) 10 (640KiB)

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

1

js
const bytesPerPage = 64 * 1024;
console.log(memory.buffer.byteLength / bytesPerPage); // "1"
console.log(memory.grow(1)); // "1"
console.log(memory.buffer.byteLength / bytesPerPage); // "2"

grow() WebAssembly

64

"i64" (BigInt) grow()

js
const memory = new WebAssembly.Memory({
  address: "i64",
  initial: 1n,
  maximum: 10n,
});

console.log(memory.grow(1n)); // 1n

grow buffer grow(0) ArrayBuffer byteLength 0 JavaScript grow buffer ArrayBuffer

js
const memory = new WebAssembly.Memory({
  initial: 1,
});
const oldMemoryView = new Uint8Array(memory.buffer);
memory.grow(1);
// 
console.log(oldMemoryView); // Uint8Array []
js
const memory = new WebAssembly.Memory({
  initial: 1,
});
memory.grow(1);
const currentMemoryView = new Uint8Array(memory.buffer);
// 
console.log(currentMemoryView); // Uint8Array(131072) [ 0, 0, 0, ... ]
// 131072 = 64KiB * 2

Memory buffer SharedArrayBuffer buffer SharedArrayBuffer Memory buffer SharedArrayBuffer

WebAssembly JavaScript Interface
# dom-memory-grow


Web Proxy Viewer  |  New URL  |  Original Page