ArrayBuffer.prototype.slice()

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

Syntax

arraybuffer.slice(begin[, end])

Parameters

begin
Zero-based byte index at which to begin slicing.
end Optional
Byte index before which to end slicing. If end is unspecified, the new ArrayBuffer contains all bytes from begin to the end of this ArrayBuffer. If negative, it will make the Byte index begin from the last Byte.

Return value

A new ArrayBuffer object.

Description

The slice() method copies up to, but not including, the byte indicated by the end parameter. If either begin or end is negative, it refers to an index from the end of the array, as opposed to from the beginning.

The range specified by the begin and end parameters is clamped to the valid index range for the current array. If the computed length of the new ArrayBuffer would be negative, it is clamped to zero.

Examples

Copying an ArrayBuffer

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

Specifications

Specification
ECMAScript (ECMA-262)
The definition of 'ArrayBuffer.prototype.slice' in that specification.

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
sliceChrome Full support 17Edge Full support 12Firefox Full support 12
Notes
Full support 12
Notes
Notes The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
IE Full support 11Opera Full support 12.1Safari Full support 6WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support 14
Notes
Full support 14
Notes
Notes The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
Opera Android Full support 12.1Safari iOS Full support 6Samsung Internet Android Full support 1.0nodejs Full support 0.12

Legend

Full support  
Full support
See implementation notes.
See implementation notes.

See also