Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 Dezember 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 entweder start oder end negativ ist, bezieht sich dies auf einen Index vom Ende des Arrays, anstatt vom Anfang.

Syntax

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

Parameter

start Optional

Der nullbasierte Index, bei dem die Extraktion beginnen soll, in eine Ganzzahl 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, wird ein leerer Puffer zurückgegeben.
end Optional

Der nullbasierte Index, bei dem die Extraktion enden soll, in eine Ganzzahl 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 oder end weggelassen wird oder undefined ist, wird buffer.length verwendet, was dazu führt, dass alle Elemente bis zum Ende extrahiert werden.
  • Wenn end eine Position impliziert, die vor oder an der Position liegt, die start impliziert, wird ein leerer Puffer zurückgegeben.

Rückgabewert

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

Beispiele

Beachten Sie, dass diese Beispiele nicht direkt von der Konsole oder einer beliebigen Webseite aus ausgeführt werden können, da SharedArrayBuffer nicht definiert ist, es sei denn, die Sicherheitsanforderungen sind erfüllt.

Verwendung von slice()

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

const sliced = new Int32Array(buffer.slice(4, 12));
console.log(sliced); // Int32Array [42, 0]

Verwendung verschiedener Start- und Endwerte

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