Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
111
111
128
16.4
111
16.4
ビルトインオブジェクト
ArrayBuffer.ArrayBuffer.maxByteLength option

`maxByteLength` オプション

111
111
128
16.4
111
16.4

resizable は ArrayBuffer インスタンスのアクセサープロパティで、この配列バッファーがサイズ変更かどうかを表します。

111
111
128
16.4
111
16.4

resize() は ArrayBuffer インスタンスのメソッドで、この ArrayBuffer を指定されたサイズ(バイト単位)にサイズ変更します。

111
111
128
16.4
111
16.4
SharedArrayBuffer.SharedArrayBuffer.maxByteLength option

`maxByteLength` オプション

111
111
128
16.4
111
16.4

grow() は SharedArrayBuffer インスタンスのメソッドで、 SharedArrayBuffer を指定されたサイズ(バイト単位)へ伸長します。

111
111
128
16.4
111
16.4

growable は SharedArrayBuffer インスタンスのアクセサープロパティで、この SharedArrayBuffer が伸長可能かどうかを返します。

111
111
128
16.4
111
16.4

maxByteLength は SharedArrayBuffer インスタンスのアクセサープロパティで、この SharedArrayBuffer が伸長できる最大長(バイト単位)を返します。

111
111
128
16.4
111
16.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
const buffer = new ArrayBuffer(8, { maxByteLength: 64 });
buffer.byteLength; // 8

buffer.resize(32);
buffer.byteLength; // 32

ライブデモ

Create a resizable ArrayBuffer

Allocate a resizable buffer when the option is supported.

JavaScript
出力
「実行」ボタンを押してください

Resize a buffer

Grow a resizable buffer and inspect the new typed-array view length.

JavaScript
出力
「実行」ボタンを押してください

Guard resize at runtime

Use feature detection before relying on buffer resizing helpers.

JavaScript
出力
「実行」ボタンを押してください

実務での使いどころ

  • Resizable buffers の活用

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

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。