ArrayBuffer.prototype.slice()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
slice()
メソッドは新しいArrayBuffer
を返し、その中にこのArrayBuffer
のbegin
からend
の手前までをコピーします。
試してみましょう
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(16);const int32View = new Int32Array(buffer);// Produces Int32Array [0, 0, 0, 0]int32View[1] = 42;const sliced = new Int32Array(buffer.slice(4, 12));// Produces Int32Array [42, 0]console.log(sliced[0]);// Expected output: 42
構文
js
slice(begin)slice(begin, end)
引数
返値
新しいArrayBuffer
オブジェクト。
解説
slice()
メソッドは、end
引数で指定されたバイトの手前までコピーを行います。begin
またはend
のどちらかが負の数の場合は、開始位置とは反対に、配列の末尾からのインデックスを参照します。
begin
およびend
引数で指定された範囲は、現在の配列で妥当なインデックスの範囲に丸められます。新しいArrayBuffer
の計算された長さが負の数であった場合、ゼロに丸められます。
例
ArrayBuffer のコピー
js
const buf1 = new ArrayBuffer(8);const buf2 = buf1.slice(0);
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification # sec-arraybuffer.prototype.slice |