试一试
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 |
浏览器兼容性
加载中…