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.

SharedArrayBuffer 实例的 grow() 方法将 SharedArrayBuffer 增大到以字节为单位的指定大小。

语法

js
grow(newLength)

参数

newLength

新的长度,以字节为单位,SharedArrayBuffer 调整后的大小。

返回值

无(undefined)。

异常

TypeError

如果当前的 SharedArrayBuffer 不可增大,则抛出该异常。

RangeError

如果 newLength 大于当前 SharedArrayBuffermaxByteLength 或小于 byteLength,则抛出该异常。

描述

grow() 方将 SharedArrayBuffer 增大到 newLength 参数指定的大小,前提是 SharedArrayBuffer可增大的,并且新的大小小于等于当前 SharedArrayBuffermaxByteLength。新字节被初始化为 0。

示例

使用 grow()

在这个示例中,我们创建一个 8 字节缓冲区,该缓冲区可调整大小到的最大长度是 16 字节,然后检查其 growable 属性,如果 growable 返回 true,则将其增大:

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

if (buffer.growable) {
  console.log("SAB 是可增大的!");
  buffer.grow(12);
}

规范

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

浏览器兼容性

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

参见