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
, einschließlich, bis end
, ausschließlich, ist. Wenn start
oder end
negativ ist, bezieht es sich auf einen Index vom Ende des Arrays, anstatt 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, bei dem die Extraktion beginnt, in eine Ganzzahl umgewandelt.
- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
-buffer.length <= start < 0
, wirdstart + buffer.length
verwendet. - Wenn
start < -buffer.length
oderstart
ausgelassen wird, wird0
verwendet. - Wenn
start >= buffer.length
, wird ein leerer Puffer zurückgegeben.
- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
end
Optional-
Nullbasierter Index, bei dem die Extraktion endet, in eine Ganzzahl umgewandelt.
slice()
extrahiert bis, aber nicht einschließlich,end
.- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
-buffer.length <= end < 0
, wirdend + buffer.length
verwendet. - Wenn
end < -buffer.length
, wird0
verwendet. - Wenn
end >= buffer.length
oderend
ausgelassen wird, wirdbuffer.length
verwendet, wodurch alle Elemente bis zum Ende extrahiert werden. - Wenn
end
eine Position vor oder an der Position impliziert, diestart
impliziert, 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® 2025 Language Specification # sec-sharedarraybuffer.prototype.slice |
Browser-Kompatibilität
BCD tables only load in the browser