このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
ArrayBuffer.prototype.resize()
Baseline 2024Newly 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 を指定されたサイズ(バイト単位)にサイズ変更します。
In this article
試してみましょう
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });console.log(buffer.byteLength);// Expected output: 8buffer.resize(12);console.log(buffer.byteLength);// Expected output: 12構文
resize(newLength)引数
newLengthArrayBufferのサイズを変更する新しい長さ(バイト単位)です。
返値
undefined です。
例外
TypeErrorArrayBufferが切り離されているか、サイズ変更できない場合に発生します。RangeErrornewLengthが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® 2026 Language Specification> # sec-arraybuffer.prototype.resize> |