ArrayBuffer.prototype.resizable

Baseline 2024
新推出

自 ⁨2024 年 7 月⁩起,此功能可在最新的设备和浏览器版本上使用。此功能可能无法在较旧的设备或浏览器上使用。

resizable 属性是 ArrayBuffer 实例的一个访问器属性,用于返回该 ArrayBuffer 是否可调整大小。

试一试

const buffer1 = new ArrayBuffer(8, { maxByteLength: 16 });
const buffer2 = new ArrayBuffer(8);

console.log(buffer1.resizable);
// Expected output: true

console.log(buffer2.resizable);
// Expected output: false

描述

resizable 属性是一个访问器属性,其 set 访问器函数为 undefined,这意味着你只能读取此属性。该值在 ArrayBuffer 构造时确立。如果在构造函数中设置了 maxByteLength 选项,resizable 将返回 true;否则,它将返回 false

示例

使用 resizable

在此示例中,我们创建一个 8 字节的缓冲区,该缓冲区可调整大小为最大 16 字节,然后检查其 resizable 属性,如果 resizable 返回 true,则调整其大小。

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

if (buffer.resizable) {
  console.log("Buffer is resizable!");
  buffer.resize(12);
}

规范

规范
ECMAScript® 2026 语言规范
# sec-get-arraybuffer.prototype.resizable

浏览器兼容性

另见