SharedArrayBuffer.prototype.slice()

SharedArrayBuffer.prototype.slice() メソッドは、新しい SharedArrayBuffer を生成し、その内容にこの SharedArrayBuffer のバイトを先頭位置 (含む) から末尾位置 (含まない) までをコピーして返します。先頭または末尾が負の値であった場合は、配列の先頭からではなく、末尾からの位置になります。このメソッドは Array.prototype.slice() と同じアルゴリズムです。

試してみましょう

構文

slice()
slice(begin)
slice(begin, end)

引数

begin 省略可

取り出す先頭位置を表す 0 から始まるインデックスです。

負のインデックスを使用して、配列の末尾からのオフセットを示すことが可能です。 slice(-2) は並びの最後の2つの要素を取り出します。

begin が undefined であった場合は、 slice0 の位置から取り出し始めます。

end 省略可

0 から始まるインデックスで、取り出す範囲の末尾のを示します。 slice はここまでを取り出しますが、 end は含めません。

例えば、 slice(1,4) は2番目から4番目までの要素を取り出します (添字が 1, 2, 3 の要素)。

負のインデックスを使用して、配列の末尾からのオフセットを示すことが可能です。 slice(2,-1) は3番目から、並びの最後から2番目までの要素を取り出します。

end が省略されると、 slice は並びの最後 (sab.byteLength) までの範囲を取り出します。

返値

取り出した要素をが入った新しい SharedArrayBuffer です。

slice() の使用

var sab = new SharedArrayBuffer(1024);
sab.slice();    // SharedArrayBuffer { byteLength: 1024 }
sab.slice(2);   // SharedArrayBuffer { byteLength: 1022 }
sab.slice(-2);  // SharedArrayBuffer { byteLength: 2 }
sab.slice(0, 1); // SharedArrayBuffer { byteLength: 1 }

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報