--- title: SharedArrayBuffer.prototype.slice() slug: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice tags: - JavaScript - Method - Prototype - Shared Memory - SharedArrayBuffer - TypedArrays translation_of: Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/slice ---
SharedArrayBuffer.prototype.slice() メソッドは、新しい {{jsxref("SharedArrayBuffer")}} を生成し、その内容にこの SharedArrayBuffer のバイトを先頭位置 (含む) から末尾位置 (含まない) までをコピーして返します。先頭または末尾が負の値であった場合は、配列の先頭からではなく、末尾からのインデックスになります。このメソッドは {{jsxref("Array.prototype.slice()")}} と同じアルゴリズムです。
sab.slice() sab.slice(begin) sab.slice(begin, end)
begin {{optional_inline}}slice(-2) は並びの最後の2つの要素を取り出します。begin が undefined であった場合は、 slice はインデックス 0 から取り出し始めます。end {{optional_inline}}slice はここまでを取り出しますが、 end は含めません。slice(1,4) は2番目から4番目までの要素を取り出します (添字が 1, 2, 3 の要素)。slice(2,-1) は3番目から、並びの最後から2番目までの要素を取り出します。end が省略されると、 slice は並びの最後までの範囲を取り出します。 (sab.byteLength).取り出した要素をが入った新しい {{jsxref("SharedArrayBuffer")}} です。
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 }
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-sharedarraybuffer.prototype.slice', 'SharedArrayBuffer.prototype.slice')}} |
{{Compat("javascript.builtins.SharedArrayBuffer.slice")}}