SharedArrayBuffer.prototype.grow()

Baseline 2024
Newly available

Since July 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The grow() method of SharedArrayBuffer instances grows the SharedArrayBuffer to the specified size, in bytes.

Syntax

js
grow(newLength)

Parameters

newLength

The new length, in bytes, to resize the SharedArrayBuffer to.

Return value

None (undefined).

Exceptions

TypeError

Thrown if the SharedArrayBuffer is not growable.

RangeError

Thrown if newLength is larger than the maxByteLength of the SharedArrayBuffer or smaller than the byteLength.

Description

The grow() method grows a SharedArrayBuffer to the size specified by the newLength parameter, provided that the SharedArrayBuffer is growable and the new size is less than or equal to the maxByteLength of the SharedArrayBuffer. New bytes are initialized to 0.

Examples

Using grow()

In this example, we create a 8-byte buffer that is growable to a max length of 16 bytes, then check its growable property, growing it if growable returns true:

js
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });

if (buffer.growable) {
  console.log("SAB is growable!");
  buffer.grow(12);
}

Specifications

Specification
ECMAScript® 2025 Language Specification
# sec-sharedarraybuffer.prototype.grow

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
grow

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

See also