ArrayBuffer.prototype.slice()

The slice() method of ArrayBuffer instances returns a new ArrayBuffer whose contents are a copy of this ArrayBuffer's bytes from begin, inclusive, up to end, exclusive.

Try it

Syntax

js

slice()
slice(start)
slice(start, end)

Parameters

start Optional

Zero-based index at which to start extraction, converted to an integer.

  • Negative index counts back from the end of the buffer — if start < 0, start + buffer.length is used.
  • If start < -buffer.length or start is omitted, 0 is used.
  • If start >= buffer.length, nothing is extracted.
end Optional

Zero-based index at which to end extraction, converted to an integer. slice() extracts up to but not including end.

  • Negative index counts back from the end of the buffer — if end < 0, end + buffer.length is used.
  • If end < -buffer.length, 0 is used.
  • If end >= buffer.length or end is omitted, buffer.length is used, causing all elements until the end to be extracted.
  • If end is positioned before or at start after normalization, nothing is extracted.

Return value

A new ArrayBuffer object.

Examples

Copying an ArrayBuffer

js

const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);

Specifications

Specification
ECMAScript Language Specification
# sec-arraybuffer.prototype.slice

Browser compatibility

BCD tables only load in the browser

See also