The Uint8ClampedArray
typed array represents an array of 8-bit unsigned integers clamped to 0-255; if you specified a value that is out of the range of [0,255], 0 or 255 will be set instead; if you specify a non-integer, the nearest integer will be set. The contents are initialized to 0
. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
new Uint8ClampedArray(); // new in ES2017 new Uint8ClampedArray(length); new Uint8ClampedArray(typedArray); new Uint8ClampedArray(object); new Uint8ClampedArray(buffer [, byteOffset [, length]]);
For more information about the constructor syntax and the parameters, see TypedArray.
Uint8ClampedArray.BYTES_PER_ELEMENT
1
in the case of an Uint8ClampedArray
.Uint8ClampedArray.prototype.length
.Uint8ClampedArray.name
Uint8ClampedArray
type: "Uint8ClampedArray".Uint8ClampedArray.prototype
Uint8ClampedArray.from()
Uint8ClampedArray
from an array-like or iterable object. See also Array.from()
.Uint8ClampedArray.of()
Uint8ClampedArray
with a variable number of arguments. See also Array.of()
.Uint8ClampedArray
prototypeAll Uint8ClampedArray
objects inherit from %TypedArray%.prototype
.
Uint8ClampedArray.prototype.constructor
Uint8ClampedArray
constructor by default.Uint8ClampedArray.prototype.buffer
Read only
ArrayBuffer
referenced by the Uint8ClampedArray
Fixed at construction time and thus read only.Uint8ClampedArray.prototype.byteLength
Read only
Uint8ClampedArray
from the start of its ArrayBuffer
. Fixed at construction time and thus read only.
Uint8ClampedArray.prototype.byteOffset
Read only
Uint8ClampedArray
from the start of its ArrayBuffer
. Fixed at construction time and thus read only.
Uint8ClampedArray.prototype.length
Read only
UintClamped8Array
. Fixed at construction time and thus read only.
Uint8ClampedArray.prototype.copyWithin()
Array.prototype.copyWithin()
.Uint8ClampedArray.prototype.entries()
Array Iterator
object that contains the key/value pairs for each index in the array. See also Array.prototype.entries()
.Uint8ClampedArray.prototype.every()
Array.prototype.every()
.Uint8ClampedArray.prototype.fill()
Array.prototype.fill()
.Uint8ClampedArray.prototype.filter()
Array.prototype.filter()
.Uint8ClampedArray.prototype.find()
undefined
if not found. See also Array.prototype.find()
.Uint8ClampedArray.prototype.findIndex()
Array.prototype.findIndex()
.Uint8ClampedArray.prototype.forEach()
Array.prototype.forEach()
.Uint8ClampedArray.prototype.includes()
true
or false
as appropriate. See also Array.prototype.includes()
.Uint8ClampedArray.prototype.indexOf()
Array.prototype.indexOf()
.Uint8ClampedArray.prototype.join()
Array.prototype.join()
.Uint8ClampedArray.prototype.keys()
Array Iterator
that contains the keys for each index in the array. See also Array.prototype.keys()
.Uint8ClampedArray.prototype.lastIndexOf()
Array.prototype.lastIndexOf()
.Uint8ClampedArray.prototype.map()
Array.prototype.map()
.Uint8ClampedArray.prototype.move()
Unimplemented
Uint8ClampedArray.prototype.copyWithin()
.Uint8ClampedArray.prototype.reduce()
Array.prototype.reduce()
.Uint8ClampedArray.prototype.reduceRight()
Array.prototype.reduceRight()
.Uint8ClampedArray.prototype.reverse()
Array.prototype.reverse()
.Uint8ClampedArray.prototype.set()
Uint8ClampedArray.prototype.slice()
Array.prototype.slice()
.Uint8ClampedArray.prototype.some()
Array.prototype.some()
.Uint8ClampedArray.prototype.sort()
Array.prototype.sort()
.Uint8ClampedArray.prototype.subarray()
Uint8ClampedArray
from the given start and end element index.Uint8ClampedArray.prototype.values()
Array Iterator
object that contains the values for each index in the array. See also Array.prototype.values()
.Uint8ClampedArray.prototype.toLocaleString()
Array.prototype.toLocaleString()
.Uint8ClampedArray.prototype.toString()
Array.prototype.toString()
.Uint8ClampedArray.prototype[@@iterator]()
Array Iterator
object that contains the values for each index in the array.Different ways to create a Uint8ClampedArray
:
// From a length var uintc8 = new Uint8ClampedArray(2); uintc8[0] = 42; uintc8[1] = 1337; console.log(uintc8[0]); // 42 console.log(uintc8[1]); // 255 (clamped) console.log(uintc8.length); // 2 console.log(uintc8.BYTES_PER_ELEMENT); // 1 // From an array var arr = new Uint8ClampedArray([21,31]); console.log(arr[1]); // 31 // From another TypedArray var x = new Uint8ClampedArray([21, 31]); var y = new Uint8ClampedArray(x); console.log(y[0]); // 21 // From an ArrayBuffer var buffer = new ArrayBuffer(8); var z = new Uint8ClampedArray(buffer, 1, 4); // From an iterable var iterable = function*(){ yield* [1,2,3]; }(); var uintc8 = new Uint8ClampedArray(iterable); // Uint8ClampedArray[1, 2, 3]
Specification | Status | Comment |
---|---|---|
Typed Array Specification | Obsolete | Superseded by ECMAScript 2015. |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. | Standard | Initial definition in an ECMA standard. Specified that new is required. |
ECMAScript Latest Draft (ECMA-262) The definition of 'TypedArray constructors' in that specification. | Draft | ECMAScript 2017 changed the Uint8ClampedArray constructor to use the ToIndex operation and allows constructors with no arguments. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 7 | Yes | 4 | 10 | 11.6 | 5.1 |
Uint8ClampedArray() without new throws |
Yes | Yes | 44 | No | Yes | ? |
Iterable in constructor | ? | ? | 52 | ? | ? | ? |
Constructor without arguments | ? | ? | 55 | ? | ? | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 4 | Yes | Yes | 4 | 11.6 | 4.2 | Yes |
Uint8ClampedArray() without new throws |
? | ? | ? | 44 | ? | ? | ? |
Iterable in constructor | ? | ? | ? | 52 | ? | ? | ? |
Constructor without arguments | ? | ? | ? | 55 | ? | ? | ? |
Server | |
---|---|
Node.js | |
Basic support | 0.10 |
Uint8ClampedArray() without new throws |
0.12 |
Iterable in constructor | 4.0.0 |
Constructor without arguments | ? |
Starting with ECMAScript 2015, Uint8ClampedArray
constructors require to be constructed with a new
operator. Calling a Uint8ClampedArray
constructor as a function without new
, will throw a TypeError
from now on.
var dv = Uint8ClampedArray([1, 2, 3]); // TypeError: calling a builtin Uint8ClampedArray constructor // without new is forbidden
var dv = new Uint8ClampedArray([1, 2, 3]);
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray