TypedArray.prototype.set()
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.
Theset() method ofTypedArray instances stores multiple values in the typedarray, reading input values from a specified array.
In this article
Try it
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(8);const uint8 = new Uint8Array(buffer);// Copy the values into the array starting at index 3uint8.set([1, 2, 3], 3);console.log(uint8);// Expected output: Uint8Array [0, 0, 0, 1, 2, 3, 0, 0]Syntax
set(array)set(array, targetOffset)set(typedarray)set(typedarray, targetOffset)Parameters
arrayThe array from which to copy values. All values from the source array are copiedinto the target array, unless the length of the source array plus the target offset exceedsthe length of the target array, in which case an exception is thrown.
typedarrayIf the source array is a typed array, the two arrays may share the same underlying
ArrayBuffer; the JavaScript engine will intelligentlycopy the source range of the buffer to the destination range.targetOffsetOptionalThe offset into the target array at which to begin writing values from the sourcearray. If this value is omitted, 0 is assumed (that is, the source array willoverwrite values in the target array starting at index 0).
Return value
None (undefined).
Exceptions
RangeErrorThrown in one of the following cases:
- An element will be stored beyond the end of the typed array, either because
targetOffsetis too large or becausearrayortypedarrayis too large. targetOffsetis negative.
- An element will be stored beyond the end of the typed array, either because
Examples
>Using set()
const buffer = new ArrayBuffer(8);const uint8 = new Uint8Array(buffer);uint8.set([1, 2, 3], 3);console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-%typedarray%.prototype.set> |