ArrayBuffer.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 July 2015.
Die slice()
Methode von ArrayBuffer
Instanzen gibt ein neues ArrayBuffer
zurück, dessen Inhalt eine Kopie der Bytes dieses ArrayBuffer
von start
(einschließlich) bis end
(ausschließlich) ist. Wenn entweder start
oder end
negativ ist, bezieht es sich auf einen Index vom Ende des Arrays, im Gegensatz zum Anfang.
Probieren Sie es aus
// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);
const int32View = new Int32Array(buffer);
// Produces Int32Array [0, 0, 0, 0]
int32View[1] = 42;
const sliced = new Int32Array(buffer.slice(4, 12));
// Produces Int32Array [42, 0]
console.log(sliced[0]);
// Expected output: 42
Syntax
slice()
slice(start)
slice(start, end)
Parameter
start
Optional-
Nullbasierter Index, bei dem die Extraktion beginnt, in eine Ganzzahl konvertiert.
- 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
ausgelassen 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, bei dem die Extraktion endet, in eine Ganzzahl konvertiert.
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
ausgelassen oderundefined
ist, wirdbuffer.length
verwendet, was dazu führt, dass 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 neues ArrayBuffer
, das die extrahierten Elemente enthält. Es ist nicht veränderbar, auch wenn das Original es war.
Beispiele
Kopieren eines ArrayBuffer
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-arraybuffer.prototype.slice |