Typed Array
Оновлено: 09.03.2023
Введені масиви JavaScript
У Javascript типізований масив — це буфер двійкових даних, схожий на масив.
Немає властивості JavaScript або об’єкта з назвою TypedArray, але властивості та методи можна використовувати з об’єктами типізованого масиву:
Об’єкти типізованого масиву
| Object | Data Type | Range |
| Int8Array | Signed integer (byte) | -128/127 |
| Uint8Array | Unsigned integer (octet) | 0/255 |
| Uint8ClampedArray | Unsigned integer (octet) | 0/255 |
| Int16Array | Short integer | -32768/32767 |
| Uint16Array | Unsigned short integer | 0/65535 |
| Int32Array | Signed long integer | -231/231-1 |
| Uint32Array | Unsigned long integer | 0/232 |
| Float32Array | Float - 7 significant digits | 1.2x10-38/3.4x1038 |
| Float64Array | Double - 16 significant digits | 5.0x10-324/1.8x10308 |
| BigInt64Array | Big signed integer | -263/263-1 |
| BigUint64Array | Big unsigned integer | 0/264 |
Примітка
Введені масиви не є масивами.
isArray() для введеного масиву повертає false.
Багато методів масиву (наприклад, push і pop) не підтримуються введеними масивами.
Типізовані масиви — це масивоподібні об’єкти для зберігання двійкових даних у пам’яті.
Методи та властивості типізованого масиву
| Method / Property | Description |
| BYTES_PER_ELEMENT | Property to count the number of bytes used to store one element |
| fill() | Fill all elements with a value |
| find() | Returns the first element that satisfies a condition |
| name | Returns the name of the typed array |
| of() | Method to create a typed array from an array |
| some() | Reurns true if one element satisfies a condition |
Uint8Array проти Uint8ClampedArray
Різниця між Uint8Array і Uint8ClampedArray полягає в тому, як додаються значення.
Якщо ви встановите для одного елемента в Uint8ClampedArray значення за межами діапазону 0-255, за замовчуванням буде 0 або 255.
Введений масив прийматиме лише перші 8 біт значення.
Переваги типізованого масиву
Типізовані масиви забезпечують спосіб обробки двійкових даних так само ефективно, як масиви працюють у C.
Типізовані масиви є необробленою пам’яттю, тому JavaScript може передавати їх безпосередньо будь-якій функції без перетворення даних в інше представлення.
Типизовані масиви є значно швидшими за звичайні масиви для передачі даних функціям, які можуть використовувати необроблені двійкові дані (комп’ютерні ігри, WebGL, Canvas, File API, Media API).
Підтримка браузера
typedArrayє функцією ECMAScript6 (ES6).
ES6 (JavaScript 2015) підтримується в усіх сучасних браузерах: