Typed Array

Обновлено: 09.03.2023

Введені масиви JavaScript

У Javascript типізований масив — це буфер двійкових даних, схожий на масив.

Немає властивості JavaScript або об’єкта з назвою TypedArray, але властивості та методи можна використовувати з об’єктами типізованого масиву:

Об’єкти типізованого масиву

ObjectData TypeRange
Int8ArraySigned integer (byte)-128/127
Uint8ArrayUnsigned integer (octet)0/255
Uint8ClampedArrayUnsigned integer (octet)0/255
Int16ArrayShort integer-32768/32767
Uint16ArrayUnsigned short integer0/65535
Int32ArraySigned long integer-231/231-1
Uint32ArrayUnsigned long integer0/232
Float32ArrayFloat - 7 significant digits

1.2x10-38/3.4x1038

Float64ArrayDouble - 16 significant digits5.0x10-324/1.8x10308
BigInt64ArrayBig signed integer

-263/263-1

BigUint64ArrayBig unsigned integer0/264

Примітка

Введені масиви не є масивами.

isArray() для введеного масиву повертає false.

Багато методів масиву (наприклад, push і pop) не підтримуються введеними масивами.

Типізовані масиви — це масивоподібні об’єкти для зберігання двійкових даних у пам’яті.

Методи та властивості типізованого масиву

Method / PropertyDescription
BYTES_PER_ELEMENTProperty 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
nameReturns 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) підтримується в усіх сучасних браузерах:

typedArray

Посмотреть совместимость на Can I use?

typedArray