尝试一下
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
console.log(buffer.byteLength);
// Expected output: 8
console.log(buffer.maxByteLength);
// Expected output: 16
描述
maxByteLength 属性是一个访问器属性,其设置访问器函数为 undefined,这意味着你只能读取此属性。该值在构造数组时通过 ArrayBuffer() 构造函数的 maxByteLength 选项设置,并且不能更改。
如果该 ArrayBuffer 已分离,则该属性返回 0。如果该 ArrayBuffer 构造时未指定 maxByteLength 值,则该属性返回 ArrayBuffer 的 byteLength 值。
示例
>使用 maxByteLength
在该示例中,我们创建一个 8 字节缓冲区,该缓冲区可调整到的最大长度为 16 字节,然后返回其 maxByteLength:
js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
buffer.maxByteLength; // 16
规范
| 规范 |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-arraybuffer.prototype.maxbytelength> |