ArrayBuffer.prototype.maxByteLength

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.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

maxByteLengthArrayBuffer インスタンスのアクセサープロパティで、ArrayBuffer がサイズ変更可能な最大長をバイト数で表します。

試してみましょう

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

console.log(buffer.byteLength);
// Expected output: 8

console.log(buffer.maxByteLength);
// Expected output: 16

解説

maxByteLength プロパティはアクセサープロパティであり、その設定アクセサー関数が undefined であるため、このプロパティは読み取ることしかできません。この値は配列の構築時に、 maxByteLength オプションを ArrayBuffer() コンストラクターで設定した際に設定され、変更することができません。

このプロパティは、この ArrayBuffer が切り離されている場合は 0 を返し ます。この ArrayBuffermaxByteLength の値を指定せずに構築された場合、このプロパティは ArrayBufferbyteLength の値と等しい値を返します。

maxByteLength の使用

この例では、最大 16 バイトまでサイズ変更可能な 8 バイトのバッファーが作成され、そのmaxByteLengthを返しています。

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

buffer.maxByteLength; // 16

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-get-arraybuffer.prototype.maxbytelength

ブラウザーの互換性

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
maxByteLength

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

関連情報