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 von start, inklusive, bis end, exklusiv ist. Wenn start oder end negativ ist, bezieht es sich auf einen Index vom Ende des Arrays, im Gegensatz zum 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, bei dem die Extraktion beginnt, in eine ganze Zahl umgewandelt.

  • Ein negativer Index zählt rückwärts vom Ende des Puffers — 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 ist, wird ein leerer Puffer zurückgegeben.
end Optional

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

  • Ein negativer Index zählt rückwärts vom Ende des Puffers — wenn -buffer.length <= end < 0, wird end + buffer.length verwendet.
  • Wenn end < -buffer.length, wird 0 verwendet.
  • Wenn end >= buffer.length ist oder end weggelassen oder undefined ist, wird buffer.length verwendet, wodurch alle Elemente bis zum Ende extrahiert werden.
  • Wenn end eine Position vor oder an der Position impliziert, die start impliziert, wird ein leerer Puffer zurückgegeben.

Rückgabewert

Ein neuer SharedArrayBuffer, der die extrahierten Elemente enthält.

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® 2026 Language Specification
# sec-sharedarraybuffer.prototype.slice

Browser-Kompatibilität

Siehe auch