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
slice()
slice(start)
slice(start, end)
Parameter
startOptional-
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, wirdstart + buffer.lengthverwendet. - Wenn
start < -buffer.lengthoderstartweggelassen wird, wird0verwendet. - Wenn
start >= buffer.length, wird ein leerer Puffer zurückgegeben.
- Ein negativer Index zählt rückwärts vom Ende des Puffers — wenn
endOptional-
Der nullbasierte Index, bei dem die Extraktion enden soll, in eine Ganzzahl umgewandelt.
slice()extrahiert bis, aber nicht einschließlichend.- Ein negativer Index zählt rückwärts vom Ende des Puffers — wenn
-buffer.length <= end < 0, wirdend + buffer.lengthverwendet. - Wenn
end < -buffer.length, wird0verwendet. - Wenn
end >= buffer.lengthoderendweggelassen wird oderundefinedist, wirdbuffer.lengthverwendet, was dazu führt, dass alle Elemente bis zum Ende extrahiert werden. - Wenn
endeine Position impliziert, die vor oder an der Position liegt, diestartimpliziert, wird ein leerer Puffer zurückgegeben.
- Ein negativer Index zählt rückwärts vom Ende des Puffers — wenn
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()
// 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
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> |