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 (einschließlich) bis end (ausschließlich) 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
slice()
slice(start)
slice(start, end)
Parameter
startOptional-
Nullbasierter Index, an dem die Extraktion beginnt, umgewandelt in eine ganze Zahl.
- Ein negativer Index zählt vom Ende des Puffers zurück — 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 vom Ende des Puffers zurück — wenn
endOptional-
Nullbasierter Index, an dem die Extraktion endet, umgewandelt in eine ganze Zahl.
slice()extrahiert bis, aber nicht einschließlichend.- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
-buffer.length <= end < 0, wirdend + buffer.lengthverwendet. - Wenn
end < -buffer.length, wird0verwendet. - Wenn
end >= buffer.lengthoderendweggelassen oderundefinedist, wirdbuffer.lengthverwendet, wodurch alle Elemente bis zum Ende extrahiert werden. - Wenn
endeine Position vor oder an der Position impliziert, diestartimpliziert, wird ein leerer Puffer zurückgegeben.
- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
Rückgabewert
Ein neuer SharedArrayBuffer, der die extrahierten Elemente enthält.
Beispiele
>Verwendung von slice()
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
Loading…