此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

SharedArrayBuffer.prototype.grow()

基线 2024
最近可用

自 July 2024 起,此特性已在最新浏览器中得到支持。但在较旧的设备或浏览器中可能无法运行。

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

语法

js
grow(newLength)

参数

newLength

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

返回值

无(undefined)。

异常

TypeError

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

RangeError

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

描述

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

示例

使用 grow()

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

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

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

规范

规范
ECMAScript® 2027 Language Specification
# sec-sharedarraybuffer.prototype.grow

浏览器兼容性

参见