files/en-us/web/javascript/reference/global_objects/uint8clampedarray/index.md
The Uint8ClampedArray typed array represents an array of 8-bit unsigned integers clamped to 0–255. The contents are initialized to 0 unless initialization data is explicitly provided. 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).
Uint8ClampedArray is a subclass of the hidden {{jsxref("TypedArray")}} class.
Uint8ClampedArray object.Also inherits static properties from its parent {{jsxref("TypedArray")}}.
1 in the case of Uint8ClampedArray.Inherits static methods from its parent {{jsxref("TypedArray")}}.
Also inherits instance properties from its parent {{jsxref("TypedArray")}}.
These properties are defined on Uint8ClampedArray.prototype and shared by all Uint8ClampedArray instances.
1 in the case of a Uint8ClampedArray.Uint8ClampedArray instances, the initial value is the {{jsxref("Uint8ClampedArray/Uint8ClampedArray", "Uint8ClampedArray")}} constructor.Inherits instance methods from its parent {{jsxref("TypedArray")}}.
// From a length
const uint8c = new Uint8ClampedArray(2);
uint8c[0] = 42;
uint8c[1] = 1337;
console.log(uint8c[0]); // 42
console.log(uint8c[1]); // 255 (clamped)
console.log(uint8c.length); // 2
console.log(uint8c.BYTES_PER_ELEMENT); // 1
// From an array
const x = new Uint8ClampedArray([21, 31]);
console.log(x[1]); // 31
// From another TypedArray
const y = new Uint8ClampedArray(x);
console.log(y[0]); // 21
// From an ArrayBuffer
const buffer = new ArrayBuffer(8);
const z = new Uint8ClampedArray(buffer, 1, 4);
console.log(z.byteOffset); // 1
// From an iterable
const iterable = (function* () {
yield* [1, 2, 3];
})();
const uint8cFromIterable = new Uint8ClampedArray(iterable);
console.log(uint8cFromIterable);
// Uint8ClampedArray [1, 2, 3]
{{Specifications}}
{{Compat}}
Uint8ClampedArray in core-js