TypedArray

Объект для представления бинарных данных из буфера.

Время чтения: меньше 5 мин

Это незавершённая статья. Вы можете помочь её закончить! Почитайте о том, как контрибьютить в Доку.

Кратко

Скопировано

Типизированный массив, в котором содержатся байты. Хотя на первый взгляд TypedArray напоминает обычный массив, на самом деле это полноценный объект. С его помощью получаем доступ к двоичным данным из буфера — пространства в памяти, где хранятся бинарные данные. Обычно они находятся в оперативной памяти (Random Access Memory или коротко RAM).

Типизированные массивы TypedArray упрощают работу с тяжёлыми данными, например, видео, аудио и анимациями. Их часто используют с различными API — WebGL, Canvas 2D, XMLHttpRequest2 и так далее.

Пример

Скопировано
        
          
          let view = new Int8Array(3)view[0] = 1view[2] = 6console.log(view)// Int8Array(3) [1, 0, 6, buffer: ArrayBuffer(3),// byteLength: 3, byteOffset: 0, length: 3,// Symbol(Symbol.toStringTag): 'Int8Array']
          let view = new Int8Array(3)

view[0] = 1
view[2] = 6

console.log(view)
// Int8Array(3) [1, 0, 6, buffer: ArrayBuffer(3),
// byteLength: 3, byteOffset: 0, length: 3,
// Symbol(Symbol.toStringTag): 'Int8Array']

        
        
          
        
      

Как пишется

Скопировано

Типизированные массивы состоят из буферов и представлений. В буфере содержатся данные, а представление помогает получить доступ к данным из буфера и представить их в виде типизированного массива.

Чтобы создать типизированный массив, сначала создайте буфер с помощью объекта ArrayBuffer или SharedArrayBuffer, а потом его представление объектами TypedArray или DataView.

Для создания ArrayBuffer используйте оператор new. В TypedArray указывают нужный размер данных, количество элементов и их начальную позицию в буфере. Для этого используют разные числовые форматы. Например, Int8Array, Uint8Array, Float64Array, Uint8ClampedArray.

Можно использовать одновременно несколько представлений TypedArray для одного и того же буфера.

Как понять

Скопировано

Коллекция в JavaScript — это набор данных разного типа. К примеру, в ней могут хранится массивы и объекты. Также коллекция может быть сама по себе специфической структурой данных, если в ней намешано много всего. Они бывают нескольких видов, и TypedArray относится к проиндексированным коллекциям.