ArrayBuffer.prototype.resize()
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
resize() は ArrayBuffer インスタンスのメソッドで、この ArrayBuffer を指定されたサイズ(バイト単位)にサイズ変更します。
試してみましょう
構文
js
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 を返した場合にサイズを変更します。
js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });
if (buffer.resizable) {
console.log("Buffer is resizable!");
buffer.resize(12);
}
仕様書
| Specification |
|---|
| Unknown specification # sec-arraybuffer.prototype.resize |
ブラウザーの互換性
BCD tables only load in the browser