const myArr = new Int8Array(10);
Попробуйте сами »
JavaScript Типы массивов
В Javascript типизированный массив представляет собой буфер двоичных данных, похожий на массив.
Нет свойства или объекта JavaScript с именем TypedArray но свойства и методы можно использовать с объектами типизированного массива:
Типы объекта массива
| Объект | Тип данных | Диапазон | Попробуй |
|---|---|---|---|
| Int8Array | Целое число со знаком (байт) | -128/127 | Попробуй » |
| Uint8Array | Целое число без знака (октет) | 0/255 | Попробуй » |
| Uint8ClampedArray | Целое число без знака (октет) | 0/255 | Попробуй » |
| Int16Array | Короткое целое число | -32768/32767 | Попробуй » |
| Uint16Array | Короткое целое число без знака | 0/65535 | Попробуй » |
| Int32Array | Длинное целое число со знаком | -231/231-1 | Попробуй » |
| Uint32Array | Длинное целое число без знака | 0/232 | Попробуй » |
| Float32Array | С плавающей запятой – 7 значащих цифр | 1.2x10-38/3.4x1038 | Попробуй » |
| Float64Array | Двойной – 16 значащих цифр | 5.0x10-324/1.8x10308 | Попробуй » |
| BigInt64Array | Большое целое число со знаком | -263/263-1 | Попробуй » |
| BigUint64Array | Большое целое число без знака | 0/264 | Попробуй » |
Примечание
Типы массивов не являются массивами.
isArray() для типизированного массива возвращает false.
Многие методы массивов (например, push и pop) не поддерживаются типизированными массивами.
Типы массивов — это объекты, подобные массивам, для хранения двоичных данных в памяти.
Методы и свойства типы массива
| Методы / Свойства | Описание | Попробуй |
|---|---|---|
| BYTES_PER_ELEMENT | Свойство для подсчета количества байт, используемых для хранения одного элемента | Попробуй » |
| fill() | Заполните все элементы значением | Попробуй » |
| find() | Возвращает первый элемент, удовлетворяющий условию | Попробуй » |
| name | Возвращает имя типизированного массива | Попробуй » |
| of() | Методы создания типизированного массива из массива | Попробуй » |
| some() | Возвращает true, если один элемент удовлетворяет условию | Попробуй » |
Uint8Array или Uint8ClampedArray
Разница между Uint8Array и Uint8ClampedArray заключается в том, как добавляются значения.
Если вы установите для одного элемента в Uint8ClampedArray значение, выходящее за пределы диапазона 0–255, по умолчанию оно будет равно 0 или 255.
Типизированный массив принимает только первые 8 бит значения.
Преимущества массива типов
Типы массивов позволяют обрабатывать двоичные данные так же эффективно, как массивы в C.
Типы массивов представляют собой необработанную память, поэтому JavaScript может передавать их непосредственно в любую функцию без преобразования данных в другое представление.
Типы массивов значительно быстрее обычных массивов при передаче данных в функции, которые могут использовать необработанные двоичные данные (компьютерные игры, WebGL, Canvas, файловые API, медиа API).
API браузера, поддерживающие Типы массивов
Принести API Пример
fetch(url)
.then(request => request.arrayBuffer())
.then(arrayBuffer =>...);
Холст Пример
const canvas = document.getElementById('my_canvas');
const context = canvas.getContext('2d');
const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
const uint8ClampedArray = imageData.data;
Поддержка браузера
typedArray — это функция ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах с июня 2017 года:
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
typedArray не поддерживается в Internet Explorer.