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
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
, wirdstart + buffer.length
verwendet. - Wenn
start < -buffer.length
oderstart
weggelassen wird, wird0
verwendet. - Wenn
start >= buffer.length
, wird ein leerer Buffer zurückgegeben.
- Ein negativer Index zählt vom Ende des Buffers zurück — wenn
end
Optional-
Nullbasierter Index, an dem die Extraktion endet, in eine Ganzzahl umgewandelt.
slice()
extrahiert bis, aber nicht einschließlichend
.- Ein negativer Index zählt vom Ende des Buffers zurück — wenn
-buffer.length <= end < 0
, wirdend + buffer.length
verwendet. - Wenn
end < -buffer.length
, wird0
verwendet. - Wenn
end >= buffer.length
oderend
weggelassen wird, wirdbuffer.length
verwendet, wodurch alle Elemente bis zum Ende extrahiert werden. - Wenn
end
eine Position impliziert, die vor oder an der vonstart
implizierten Position liegt, wird ein leerer Buffer zurückgegeben.
- Ein negativer Index zählt vom Ende des Buffers zurück — wenn
Rückgabewert
Ein neuer SharedArrayBuffer
mit den extrahierten Elementen.
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® 2025 Language Specification # sec-sharedarraybuffer.prototype.slice |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
slice |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support