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.

Die slice()-Methode von SharedArrayBuffer-Instanzen gibt einen neuen SharedArrayBuffer zurück, dessen Inhalt eine Kopie der Bytes dieses SharedArrayBuffer ist, beginnend bei start (einschließlich) und bis end (ausschließlich). Wenn entweder start oder end negativ ist, bezieht es sich auf einen Index vom Ende des Arrays anstelle vom Anfang.

Probieren Sie es aus

// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const int32View = new Int32Array(buffer); // Create the view
// Produces Int32Array [0, 0, 0, 0]

int32View[1] = 42;
const sliced = new Int32Array(buffer.slice(4, 12));

console.log(sliced);
// Expected output: Int32Array [42, 0]

Syntax

js
slice()
slice(start)
slice(start, end)

Parameter

start Optional

Nullbasierter Index, an dem die Extraktion beginnt, in eine Ganzzahl umgewandelt.

  • Ein negativer Index zählt vom Ende des Buffers zurück — wenn -buffer.length <= start < 0, wird start + buffer.length verwendet.
  • Wenn start < -buffer.length oder start weggelassen wird, wird 0 verwendet.
  • Wenn start >= buffer.length, wird ein leerer Buffer zurückgegeben.
end Optional

Nullbasierter Index, an dem die Extraktion endet, in eine Ganzzahl umgewandelt. slice() extrahiert bis, aber nicht einschließlich end.

  • Ein negativer Index zählt vom Ende des Buffers zurück — wenn -buffer.length <= end < 0, wird end + buffer.length verwendet.
  • Wenn end < -buffer.length, wird 0 verwendet.
  • Wenn end >= buffer.length oder end weggelassen wird, wird buffer.length verwendet, wodurch alle Elemente bis zum Ende extrahiert werden.
  • Wenn end eine Position impliziert, die vor oder an der von start implizierten Position liegt, wird ein leerer Buffer zurückgegeben.

Rückgabewert

Ein neuer SharedArrayBuffer mit den extrahierten Elementen.

Beispiele

Verwendung von slice()

js
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 }

Spezifikationen

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

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
slice

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch