SharedArrayBuffer.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 December 2021.
SharedArrayBuffer.prototype.slice()
メソッドは、新しい SharedArrayBuffer
を生成し、その内容にこの SharedArrayBuffer
のバイトを先頭位置 (含む) から末尾位置 (含まない) までをコピーして返します。先頭または末尾が負の値であった場合は、配列の先頭からではなく、末尾からの位置になります。このメソッドは Array.prototype.slice()
と同じアルゴリズムです。
試してみましょう
構文
slice()
slice(begin)
slice(begin, end)
引数
begin
省略可-
取り出す先頭位置を表す 0 から始まるインデックスです。
負のインデックスを使用して、配列の末尾からのオフセットを示すことが可能です。
slice(-2)
は並びの最後の2つの要素を取り出します。begin
が undefined であった場合は、slice
は0
の位置から取り出し始めます。 end
省略可-
0 から始まるインデックスで、取り出す範囲の末尾の前を示します。
slice
はここまでを取り出しますが、end
は含めません。例えば、
slice(1,4)
は2番目から4番目までの要素を取り出します(インデックスが 1, 2, 3 の要素)。負のインデックスを使用して、配列の末尾からのオフセットを示すことが可能です。
slice(2,-1)
は 3 番目から、並びの最後から 2 番目までの要素を取り出します。end
が省略されると、slice
は並びの最後 (sab.byteLength
) までの範囲を取り出します。
返値
取り出した要素をが入った新しい SharedArrayBuffer
です。
例
slice() の使用
const 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