SharedArrayBuffer.prototype.grow()
The grow() method of {{jsxref("SharedArrayBuffer")}} instances grows the SharedArrayBuffer to the specified size, in bytes.
Syntax
grow(newLength)
Parameters
newLength- : The new length, in bytes, to resize the
SharedArrayBufferto.
- : The new length, in bytes, to resize the
Return value
None ({{jsxref("undefined")}} ).
Exceptions
{{jsxref("TypeError")}}- : Thrown if the
SharedArrayBufferis not growable.
- : Thrown if the
{{jsxref("RangeError")}}- : Thrown if
newLengthis larger than the{{jsxref("SharedArrayBuffer/maxByteLength", "maxByteLength")}}of theSharedArrayBufferor smaller than the{{jsxref("SharedArrayBuffer/byteLength", "byteLength")}}.
- : Thrown if
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 {{jsxref("SharedArrayBuffer/maxByteLength", "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 {{jsxref("SharedArrayBuffer/growable", "growable")}} property, growing it if growable returns true:
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });
if (buffer.growable) {
console.log("SAB is growable!");
buffer.grow(12);
}
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{jsxref("SharedArrayBuffer")}}{{jsxref("SharedArrayBuffer.prototype.growable")}}{{jsxref("SharedArrayBuffer.prototype.maxByteLength")}}