ArrayBuffer.prototype.resize()
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: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
resize()
は ArrayBuffer
インスタンスのメソッドで、この ArrayBuffer
を指定されたサイズ(バイト単位)にサイズ変更します。
試してみましょう
構文
resize(newLength)
引数
newLength
-
ArrayBuffer
のサイズを変更する新しい長さ(バイト単位)です。
返値
undefined
です。
例外
TypeError
-
ArrayBuffer
が切り離されているか、サイズ変更できない場合に発生します。 RangeError
-
newLength
がArrayBuffer
のmaxByteLength
より大きい場合に発生します。
解説
resize()
メソッドは ArrayBuffer
を newLength
引数で指定された大きさへサイズ変更します。 ただし、ArrayBuffer
がサイズ変更可能で、新しいサイズが ArrayBuffer
の maxByteLength
以下であることが条件です。新しいバイトは 0 に初期化されます。
また、resize()
を使用すると、ArrayBuffer
を成長させるだけでなく、縮小させることができることに注意してください。newLength
が ArrayBuffer
の現在の byteLength
より小さくなることが許容されています。
例
resize() の使用
この例では、最大16バイトの長さにサイズ変更可能な8バイトのバッファーを作成し、resizable
プロパティを調べて、resizable
が true を返した場合にサイズを変更します。
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
if (buffer.resizable) {
console.log("Buffer is resizable!");
buffer.resize(12);
}
仕様書
Specification |
---|
ECMAScript Language Specification # sec-arraybuffer.prototype.resize |
ブラウザーの互換性
BCD tables only load in the browser