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 Language Specification
# sec-sharedarraybuffer.prototype.grow

Browser compatibility

BCD tables only load in the browser

See also