Объект TypedArray (типизированный массив) это массивоподобное представление нижележащего буфера с бинарными данными (ArrayBuffer). Нет ни глобального свойства TypedArray, ни открытого конструктора TypedArray. Но существует ряд глобальных элементов, которые являются конструкторами типизированных массивов для конкретно заданных типов данных. Они приведены ниже. Далее вы найдёте общие свойства и функции, которые можно использовать с любыми типизированными массивами.
Синтаксис
new TypedArray(); // новое в ES2017 new TypedArray(length); new TypedArray(typedArray); new TypedArray(object); new TypedArray(buffer [, byteOffset [, length]]); где TypedArray() это одно из следующих значений: Int8Array(), Uint8Array(), Uint8ClampedArray(), Int16Array(), Uint16Array(), Int32Array(), Uint32Array(), Float32Array(), Float64Array()
Параметры
- length
- При вызове в памяти создаётся буфер длины
length* BYTES_PER_ELEMENT байт, содержащий нули - typedArray
- Когда вызывается с аргументом
typedArray, который может быть объектом любого из типов типизированных массивов (например,Int32Array), тогда переданный массивtypedArrayкопируется в новый массив. Каждое значение изtypedArrayконвертируется в соответствующий конструктору тип прямо перед копированием. Длина нового объектаtypedArrayбудет такой же как и длина переданного в параметреtypedArray - object
- Новый массив создаётся так, как если бы была вызвана функция
TypedArray.from() - buffer, byteOffset, length
- Когда происходит вызов с параметрами
bufferи опциональными параметрамиbyteOffsetиlength, то будет создан новый типизированный массив, который будет отражатьbufferтипаArrayBuffer. ПараметрыbyteOffsetиlengthопределяют диапазон (размер) памяти, выводимый данным массивоподобным представлением. Если оба этих параметра (byteOffsetиlength) опущены, то будет использован весь буферbuffer; если опущен толькоlength, то будет выведен весь остаток буфера после смещения начала отсчета элементов, заданного параметромbyteOffset.
Описание
ECMAScript 2015 определяет конструктор объекта TypedArray, который является прототипом всех TypedArray-конструкторов. Этот конструктор не открыт явным образом: какое-либо глобальное свойство %TypedArray% или TypedArray отсутствует. Он доступен только через Object.getPrototypeOf(...) (например, Int8Array.prototype). Все TypedArrays конструкторы наследуют общие свойства от конструктора %TypedArray%. Кроме того, все прототипы типизированных массивов (TypedArray.prototype) имеют своим прототипом %TypedArray%.prototype.
Сам по себе конструктор %TypedArray% не имеет пользы. Его вызов напрямую или через оператор new выдаст ошибку TypeError, кроме случая, когда он используется во время создания объектов в JS-движке, поддерживающего подклассы. В настоящее время такие движки неизвестны, поэтому %TypedArray% используется только для дополнения функциональности (затычка) браузеров в конструкторах TypedArray.
Когда создаётся экземпляр TypedArray (например, Int8Array), то буферный массив создаётся в памяти, в случае если объект ArrayBuffer передаётся как аргумент конструктора, то вместо создания буфера используется он. Адрес буфера сохраняется во внутреннем свойстве экземпляра, и все методы из %TypedArray%.prototype, например сеттеры и геттеры, оперируют с буфером, по этому адресу.
Доступ к свойствам
Получить доступ к элементам массива можно используя стандартный синтаксис по индексу (например, arr[12]). Однако, получение и установка индексируемых свойств по цепи прототипов не будет происходить даже в случае, когда вы пытаетесь использовать индексы извне массива. Индексируемые свойства обращаются к элементам буфера ArrayBuffer и не имеют отношения к объектным свойствам. Также можно использовать именованные свойства как и в обычных объектах.
//Установка и получение используя стандартный синтаксис массивов var int16 = new Int16Array(2); int16[0] = 42; console.log(int16[0]); // 42 //Отсутствует обращение к свойству прототипа (элемент №20 должен бы иметь значение "foo") Int8Array.prototype[20] = "foo"; (new Int8Array(32))[20]; // 0 //Отсутствует даже в случае обращения к индексу извне текущего массива Int8Array.prototype[20] = "foo"; (new Int8Array(8))[20]; // undefined // также в случае отрицательных индексов Int8Array.prototype[-1] = "foo"; (new Int8Array(8))[-1]; // undefined // Допустимы именованные свойства Int8Array.prototype.foo = "bar"; (new Int8Array(32)).foo; // "bar"
Объекты TypedArray
| Тип | Диапазон значений | Размер (байты) | Описание | Тип Web IDL | Эквивалентный тип языка C |
Int8Array |
-128 до 127 | 1 | 8-битное целое со знаком с дополнением до двух | byte |
int8_t |
Uint8Array |
0 до 255 | 1 | 8-битное беззнаковое целое | octet |
uint8_t |
Uint8ClampedArray |
0 до 255 | 1 | 8-битное беззнаковое целое (фиксированное от 0 до 255) | octet |
uint8_t |
Int16Array |
-32768 до 32767 | 2 | 16-битное целое со знаком с дополнением до двух | short |
int16_t |
Uint16Array |
0 до 65535 | 2 | 16-битное беззнаковое целое | unsigned short |
uint16_t |
Int32Array |
-2147483648 до 2147483647 | 4 | 32-битное целое со знаком с дополнением до двух | long |
int32_t |
Uint32Array |
0 до 4294967295 | 4 | 32-битное беззнаковое целое | unsigned long |
uint32_t |
Float32Array |
1.2x10-38 to 3.4x1038 | 4 | 32-битное число с плавающей точкой IEEE-стандарта (7 значащих цифр, нпример 1.123456) | unrestricted float |
float |
Float64Array |
5.0x10-324 to 1.8x10308 | 8 | 64-битное число с плавающей точкой IEEE-стандарта (16 значащих цифр, например, 1.123...15) | unrestricted double |
double |
Свойства
TypedArray.BYTES_PER_ELEMENT- Возвращает размер элемента для разных типизированных массивов.
- TypedArray.length
- Свойство "Длина", значение которого 0.
TypedArray.name- Возвращает строковое имя конструктора. Например, "Int8Array".
get TypedArray[@@species]- Конструктор. Используется для создания производных объектов.
TypedArray.prototype- Прототип для TypedArray-объектов.
Методы
TypedArray.from()- Создаёт типизированный массив из массивоподобного или перечислимого объекта. Смотрите
Array.from(). TypedArray.of()- Создаёт новый типизированный массив с переменным числом аргументов, из которых создастся массив. Смотрите
Array.of().
Прототип TypedArray
Все TypedArrays-массивы наследуют от TypedArray.prototype.
Свойства
Методы
Полифилы (дополнители) методов
Многие методы, используемые в TypedArray, могут быть подменены, используя методы, присутствующие среди стандартных в прототипе Arrays. Следующий кусок Javascript-кода демонстрирует, как вы можете дополнить недостающие методы Typed Array.
var typedArrayTypes = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array,Uint16Array, Int32Array, Uint32Array, Float32Array,Float64Array]; for (var k in typedArrayTypes) for (var v in Array.prototype) if (Array.prototype.hasOwnProperty(v) && !typedArrayTypes[k].prototype.hasOwnProperty(v)) typedArrayTypes[k].prototype[v] = Array.prototype[v];
Спецификации
| Спецификация | Статус | Примечание |
|---|---|---|
| Typed Array Specification | Устаревшая | Определяет работу TypedArray и ArrayBufferView. Заменен в ECMAScript 6. |
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'TypedArray Objects' в этой спецификации. |
Стандарт | Первоначальное определение в стандарте ECMA. Определяет поведение индекных и именованных свойств. Указывает, что необходимо использовать оператор new. |
| ECMAScript (ECMA-262) Определение 'TypedArray Objects' в этой спецификации. |
Живой стандарт | Спецификация ECMAScript 2017 изменила конструктор TypedArray, так что используется операция ToIndex, и позволены конструкторы без аргументов. |
Совместимость браузеров
| Компьютеры | Мобильные | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TypedArray | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
BYTES_PER_ELEMENT | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
buffer | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
byteLength | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
byteOffset | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
| Constructor without arguments | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 55 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка ≤37 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 55 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 5 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
copyWithin | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 34 | IE Нет поддержки Нет | Opera Полная поддержка 36 | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Нет поддержки Нет | Firefox Android Полная поддержка 34 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Нет поддержки Нет | nodejs Полная поддержка 4.0.0 |
entries | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 36 | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 0.12 |
every | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 36 | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
fill | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 36 | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
filter | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 38 | IE Нет поддержки Нет | Opera Нет поддержки Нет | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 38 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
find | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 9.1 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
findIndex | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 9.1 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
forEach | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 38 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 38 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
from | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 38 | IE Нет поддержки Нет | Opera Нет поддержки Нет | Safari Полная поддержка 10 | WebView Android Нет поддержки Нет | Chrome Android Нет поддержки Нет | Firefox Android Полная поддержка 38 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 10 | Samsung Internet Android Нет поддержки Нет | nodejs Полная поддержка 4.0.0 |
includes | Chrome Полная поддержка 47 | Edge Полная поддержка 14 | Firefox Полная поддержка 43 | IE Нет поддержки Нет | Opera Полная поддержка 34 | Safari Полная поддержка 10 | WebView Android Нет поддержки Нет | Chrome Android Полная поддержка 47 | Firefox Android Полная поддержка 43 | Opera Android Полная поддержка 34 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs
Полная поддержка
6.0.0
|
| Indexed properties not consulting prototype | Chrome
Полная поддержка
7
| Edge
Полная поддержка
12
| Firefox Полная поддержка 25 | IE
Полная поддержка
10
| Opera
Полная поддержка
11.6
| Safari
Полная поддержка
5.1
| WebView Android
Полная поддержка
≤37
| Chrome Android
Полная поддержка
18
| Firefox Android Полная поддержка 25 | Opera Android
Полная поддержка
12
| Safari iOS
Полная поддержка
5
| Samsung Internet Android
Полная поддержка
1.0
| nodejs
Полная поддержка
0.10
|
indexOf | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox
Полная поддержка
37
| IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Полная поддержка 45 | Firefox Android
Полная поддержка
37
| Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
| Iterable in constructor | Chrome Полная поддержка 39 | Edge Полная поддержка 14 | Firefox Полная поддержка 52 | IE Нет поддержки Нет | Opera Полная поддержка 26 | Safari Полная поддержка 10 | WebView Android Полная поддержка 39 | Chrome Android Полная поддержка 39 | Firefox Android Полная поддержка 52 | Opera Android Полная поддержка 26 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 4.0 | nodejs Полная поддержка 4.0.0 |
join | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 9.1 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
keys | Chrome Полная поддержка 38 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 25 | Safari Полная поддержка 10 | WebView Android Полная поддержка 38 | Chrome Android Полная поддержка 38 | Firefox Android Полная поддержка 37 | Opera Android Полная поддержка 25 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 3.0 | nodejs Полная поддержка 0.12 |
lastIndexOf | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox
Полная поддержка
37
| IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android
Полная поддержка
37
| Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
length | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
map | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 38 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 9.1 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 38 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
name | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
| Named properties | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 30 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка ≤37 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 30 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 5 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
TypedArray() without new throws | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 44 | IE Нет поддержки Нет | Opera Полная поддержка 15 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка ≤37 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 44 | Opera Android Полная поддержка 14 | Safari iOS Полная поддержка 5 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.12 |
of | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 38 | IE Нет поддержки Нет | Opera Нет поддержки Нет | Safari Полная поддержка 9.1 | WebView Android Нет поддержки Нет | Chrome Android Нет поддержки Нет | Firefox Android Полная поддержка 38 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 9.3 | Samsung Internet Android Нет поддержки Нет | nodejs Полная поддержка 4.0.0 |
reduce | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
reduceRight | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
reverse | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
set | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
slice | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 38 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 38 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
some | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 37 | Opera Android Нет поддержки Нет | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
sort | Chrome Полная поддержка 45 | Edge Полная поддержка 14 | Firefox Полная поддержка 46 | IE Нет поддержки Нет | Opera Полная поддержка 32 | Safari Полная поддержка 10 | WebView Android Полная поддержка 45 | Chrome Android Полная поддержка 45 | Firefox Android Полная поддержка 46 | Opera Android Полная поддержка 32 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs Полная поддержка 4.0.0 |
subarray | Chrome Полная поддержка 7 | Edge Полная поддержка 14 | Firefox Полная поддержка 4 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка 4 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 4.2 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.12 |
toLocaleString | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 51 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка ≤37 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 51 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 5 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
toString | Chrome Полная поддержка 7 | Edge Полная поддержка 12 | Firefox Полная поддержка 51 | IE Полная поддержка 10 | Opera Полная поддержка 11.6 | Safari Полная поддержка 5.1 | WebView Android Полная поддержка ≤37 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 51 | Opera Android Полная поддержка 12 | Safari iOS Полная поддержка 5 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.10 |
values | Chrome Полная поддержка 38 | Edge Полная поддержка 14 | Firefox Полная поддержка 37 | IE Нет поддержки Нет | Opera Полная поддержка 25 | Safari Полная поддержка 10 | WebView Android Полная поддержка 38 | Chrome Android Полная поддержка 38 | Firefox Android Полная поддержка 37 | Opera Android Полная поддержка 25 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 3.0 | nodejs Полная поддержка 0.12 |
@@iterator | Chrome Полная поддержка 38 | Edge Полная поддержка 12 | Firefox
Полная поддержка
36
| IE Нет поддержки Нет | Opera Полная поддержка 25 | Safari Полная поддержка 10 | WebView Android Полная поддержка 38 | Chrome Android Полная поддержка 38 | Firefox Android
Полная поддержка
36
| Opera Android Полная поддержка 25 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 3.0 | nodejs Полная поддержка 0.12 |
@@species | Chrome Полная поддержка 51 | Edge Полная поддержка 13 | Firefox Полная поддержка 48 | IE Нет поддержки Нет | Opera Полная поддержка 38 | Safari Полная поддержка 10 | WebView Android Полная поддержка 51 | Chrome Android Полная поддержка 51 | Firefox Android Полная поддержка 48 | Opera Android Полная поддержка 41 | Safari iOS Полная поддержка 10 | Samsung Internet Android Полная поддержка 5.0 | nodejs
Полная поддержка
6.5.0
|
Легенда
- Полная поддержка
- Полная поддержка
- Нет поддержки
- Нет поддержки
- Смотрите замечания реализации.
- Смотрите замечания реализации.
- Пользователь должен сам включить эту возможность.
- Пользователь должен сам включить эту возможность.
- Использует нестандартное имя.
- Использует нестандартное имя.
Совместимость
Начиная с ECMAScript 2015, конструкторы TypedArray требуют использования оператора new. Вызов конструктора TypedArray как функции без new, отныне выбросит ошибку TypeError.
var dv = Int8Array([1, 2, 3]); // TypeError: вызов встроенного конструктора Int8Array // без new запрещён
var dv = new Int8Array([1, 2, 3]);