Uint8ClampedArray
=================

Типизированный массив **`Uint8ClampedArray`** — это массив, служащий для хранения 8-битных беззнаковых чисел, обрезаемых до диапазона от 0 до 255. Если значение меньше 0, то оно будет приведено к 0 , и к 255, если оно больше 255. Числа с плавающей точкой округляются с помощью математического округления. Массив инициализируется нулями. После того как значение установлено, вы можете ссылаться на него с помощью методов объекта или через стандартный синтаксис массивов (то есть, брать значения с помощью квадратных скобок).

Syntax
------
```

new Uint8ClampedArray(length);
new Uint8ClampedArray(typedArray);
new Uint8ClampedArray(object);
new Uint8ClampedArray(buffer [, byteOffset [, length]]);
```


Для более подробной информации, смотрите *TypedArray*.

Properties
----------

`Uint8ClampedArray.BYTES_PER_ELEMENT`

Возвращает размер элемента в байтах. Для Uint8ClampedArray оно равно 1.

Uint8ClampedArray.length

Static length property whose value is 3. For the actual length (number of elements), see `Uint8ClampedArray.prototype.length` (en-US).

`Uint8ClampedArray.name` (en-US)

Returns the string value of the constructor name. In the case of the `Uint8ClampedArray` type: "Uint8ClampedArray".

`Uint8ClampedArray.prototype` (en-US)

Prototype for the *TypedArray* objects.

Methods
-------

`Uint8ClampedArray.from()` (en-US)

Creates a new `Uint8ClampedArray` from an array-like or iterable object. See also `Array.from()`.

`Uint8ClampedArray.of()` (en-US)

Creates a new `Uint8ClampedArray` with a variable number of arguments. See also `Array.of()`.

`Uint8ClampedArray` prototype
-----------------------------

All `Uint8ClampedArray` objects inherit from `%TypedArray%.prototype` (en-US).

### Properties

`Uint8ClampedArray.prototype.constructor`

Returns the function that created an instance's prototype. This is the `Uint8ClampedArray` constructor by default.

`Uint8ClampedArray.prototype.buffer` (en-US) Только для чтения 

Returns the `ArrayBuffer` referenced by the `Uint8ClampedArray` Fixed at construction time and thus **read only**.

`Uint8ClampedArray.prototype.byteLength` (en-US) Только для чтения 

Returns the length (in bytes) of the `Uint8ClampedArray` from the start of its `ArrayBuffer`. Fixed at construction time and thus **read only.**

`Uint8ClampedArray.prototype.byteOffset` (en-US) Только для чтения 

Returns the offset (in bytes) of the `Uint8ClampedArray` from the start of its `ArrayBuffer`. Fixed at construction time and thus **read only.**

`Uint8ClampedArray.prototype.length` (en-US) Только для чтения 

Returns the number of elements hold in the `UintClamped8Array`. Fixed at construction time and thus **read only.**

### Methods

`Uint8ClampedArray.prototype.copyWithin()` (en-US)

Copies a sequence of array elements within the array. See also `Array.prototype.copyWithin()`.

`Uint8ClampedArray.prototype.entries()` (en-US)

Returns a new `Array Iterator` object that contains the key/value pairs for each index in the array. See also `Array.prototype.entries()`.

`Uint8ClampedArray.prototype.every()` (en-US)

Tests whether all elements in the array pass the test provided by a function. See also `Array.prototype.every()`.

`Uint8ClampedArray.prototype.fill()` (en-US)

Fills all the elements of an array from a start index to an end index with a static value. See also `Array.prototype.fill()`.

`Uint8ClampedArray.prototype.filter()` (en-US)

Creates a new array with all of the elements of this array for which the provided filtering function returns true. See also `Array.prototype.filter()`.

`Uint8ClampedArray.prototype.find()` (en-US)

Returns the found value in the array, if an element in the array satisfies the provided testing function or `undefined` if not found. See also `Array.prototype.find()`.

`Uint8ClampedArray.prototype.findIndex()` (en-US)

Returns the found index in the array, if an element in the array satisfies the provided testing function or -1 if not found. See also `Array.prototype.findIndex()`.

`Uint8ClampedArray.prototype.forEach()` (en-US)

Calls a function for each element in the array. See also `Array.prototype.forEach()`.

`Uint8ClampedArray.prototype.includes()` (en-US) 
Экспериментальная возможность

Determines whether a typed array includes a certain element, returning `true` or `false` as appropriate. See also `Array.prototype.includes()`.

`Uint8ClampedArray.prototype.indexOf()` (en-US)

Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found. See also `Array.prototype.indexOf()`.

`Uint8ClampedArray.prototype.join()`

Joins all elements of an array into a string. See also `Array.prototype.join()`.

`Uint8ClampedArray.prototype.keys()` (en-US)

Returns a new `Array Iterator` that contains the keys for each index in the array. See also `Array.prototype.keys()`.

`Uint8ClampedArray.prototype.lastIndexOf()` (en-US)

Returns the last (greatest) index of an element within the array equal to the specified value, or -1 if none is found. See also `Array.prototype.lastIndexOf()`.

`Uint8ClampedArray.prototype.map()` (en-US)

Creates a new array with the results of calling a provided function on every element in this array. See also `Array.prototype.map()`.

`Uint8ClampedArray.prototype.move()` 
Non-standard
 Не реализовано

Former non-standard version of `Uint8ClampedArray.prototype.copyWithin()` (en-US).

`Uint8ClampedArray.prototype.reduce()` (en-US)

Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also `Array.prototype.reduce()`.

`Uint8ClampedArray.prototype.reduceRight()` (en-US)

Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also `Array.prototype.reduceRight()`.

`Uint8ClampedArray.prototype.reverse()` (en-US)

Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also `Array.prototype.reverse()`.

`Uint8ClampedArray.prototype.set()`

Stores multiple values in the typed array, reading input values from a specified array.

`Uint8ClampedArray.prototype.slice()` (en-US)

Extracts a section of an array and returns a new array. See also `Array.prototype.slice()`.

`Uint8ClampedArray.prototype.some()` (en-US)

Returns true if at least one element in this array satisfies the provided testing function. See also `Array.prototype.some()`.

`Uint8ClampedArray.prototype.sort()` (en-US)

Sorts the elements of an array in place and returns the array. See also `Array.prototype.sort()`.

`Uint8ClampedArray.prototype.subarray()` (en-US)

Returns a new `Uint8ClampedArray` from the given start and end element index.

`Uint8ClampedArray.prototype.values()` (en-US)

Returns a new `Array Iterator` object that contains the values for each index in the array. See also `Array.prototype.values()`.

`Uint8ClampedArray.prototype.toLocaleString()` (en-US)

Returns a localized string representing the array and its elements. See also `Array.prototype.toLocaleString()`.

`Uint8ClampedArray.prototype.toString()` (en-US)

Returns a string representing the array and its elements. See also `Array.prototype.toString()`.

`Uint8ClampedArray.prototype[@@iterator]()` (en-US)

Returns a new `Array Iterator` object that contains the values for each index in the array.

Examples
--------


```js
// 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);
```

Specifications
--------------

| Specification |
| --- |
| ECMAScript Language Specification # table-49 |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Compatibility notes
-------------------

Starting with ECMAScript 2015 (ES6), `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.


```js
var dv = Uint8ClampedArray([1, 2, 3]);
// TypeError: calling a builtin Uint8ClampedArray constructor
// without new is forbidden
```



```js
var dv = new Uint8ClampedArray([1, 2, 3]);
```

See also
--------

* JavaScript typed arrays
* `ArrayBuffer`
* `DataView`