ArrayBuffer.prototype.slice()

Baseline Widely 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 を返し、その中にこの ArrayBufferbegin から end の手前までをコピーします。

試してみましょう

構文

js
slice(begin)
slice(begin, end)

引数

begin

スライスの起点を表すゼロ基点のバイトインデックスです。

end 省略可

スライスがその前で終了するバイトインデックスです。end を指定しなかった場合、新しい ArrayBuffer は、この ArrayBuffer の起点から終点まですべてのバイトを含みます。

返値

新しい ArrayBuffer オブジェクト。

解説

slice() メソッドは、end 引数で指定されたバイトの手前までコピーを行います。begin または end のどちらかが負の数の場合は、開始位置とは反対に、配列の末尾からのインデックスを参照します。

begin および end 引数で指定された範囲は、現在の配列で妥当なインデックスの範囲に丸められます。新しい ArrayBuffer の計算された長さが負の数であった場合、ゼロに丸められます。

ArrayBuffer のコピー

js
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);

仕様書

Specification
ECMAScript Language Specification
# sec-arraybuffer.prototype.slice

ブラウザーの互換性

BCD tables only load in the browser

関連情報