Объект 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
При вызове в памяти создаётся буфер длины  lengthBYTES_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 Latest Draft (ECMA-262)
Определение 'TypedArray Objects' в этой спецификации.
Черновик Спецификация ECMAScript 2017 изменила конструктор TypedArray, так что используется операция ToIndex, и позволены конструкторы без аргументов.

Совместимость браузеров

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidEdge MobileFirefox для AndroidOpera для AndroidiOS SafariSamsung InternetNode.js
Базовая поддержкаChrome Полная поддержка 7Edge Полная поддержка ДаFirefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
Constructor without argumentsChrome ? Edge ? Firefox Полная поддержка 55IE Полная поддержка 10Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 55Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs ?
Indexed properties not consulting prototypeChrome Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Edge ? Firefox Полная поддержка 25IE Полная поддержка 10
Замечания
Полная поддержка 10
Замечания
Замечания Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Opera ? Safari ? WebView Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Chrome Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Edge Mobile ? Firefox Android Полная поддержка 25Opera Android ? Safari iOS ? Samsung Internet Android Полная поддержка Даnodejs ?
Замечания
?
Замечания
Замечания Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Iterable in constructorChrome ? Edge ? Firefox Полная поддержка 52IE Полная поддержка 10Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 52Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Полная поддержка 4.0.0
Named propertiesChrome Полная поддержка ДаEdge ? Firefox Полная поддержка 30IE Полная поддержка 10Opera ? Safari ? WebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 30Opera Android ? Safari iOS ? Samsung Internet Android Полная поддержка Даnodejs ?
TypedArray() without new throwsChrome ? Edge ? Firefox Полная поддержка 44IE Нет поддержки НетOpera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 44Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Полная поддержка 0.12
BYTES_PER_ELEMENTChrome Полная поддержка 7Edge Полная поддержка ДаFirefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
bufferChrome Полная поддержка 7Edge Полная поддержка 14Firefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
byteLengthChrome Полная поддержка 7Edge Полная поддержка 14Firefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
byteOffsetChrome Полная поддержка 7Edge Полная поддержка 14Firefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
copyWithinChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 34IE Нет поддержки НетOpera Полная поддержка 36Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile ? Firefox Android Полная поддержка 34Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Полная поддержка 4.0.0
entriesChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 36Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 0.12
everyChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 36Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
fillChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 36Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
filterChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 38IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 38Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
findChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile ? Firefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Полная поддержка 4.0.0
findIndexChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile ? Firefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Полная поддержка 4.0.0
forEachChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 38IE Нет поддержки НетOpera ? Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 38Opera Android ? Safari iOS ? Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
fromChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 38IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile ? Firefox Android Полная поддержка 38Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Нет поддержки Нетnodejs Полная поддержка 4.0.0
includesChrome Полная поддержка 47Edge Полная поддержка 14Firefox Полная поддержка 43IE Нет поддержки НетOpera Полная поддержка 34Safari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка 47Edge Mobile ? Firefox Android Полная поддержка 43Opera Android Полная поддержка 34Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 5.0nodejs Полная поддержка 6.0.0
Полная поддержка 6.0.0
Полная поддержка 5.0.0
Отключено
Отключено From version 5.0.0: this feature is behind the --harmony runtime flag.
indexOfChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37
Замечания
Полная поддержка 37
Замечания
Замечания Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).indexOf(0, -0) will now always return +0.
IE Нет поддержки НетOpera Полная поддержка 32Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 45Edge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37
Замечания
Полная поддержка 37
Замечания
Замечания Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).indexOf(0, -0) will now always return +0.
Opera Android Полная поддержка 32Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 5.0nodejs Полная поддержка 4.0.0
joinChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
keysChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Нет поддержки НетSafari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 0.12
lastIndexOfChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 37
Замечания
Полная поддержка 37
Замечания
Замечания Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0.
IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка 10WebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37
Замечания
Полная поддержка 37
Замечания
Замечания Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0.
Opera Android Полная поддержка ДаSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
lengthChrome Полная поддержка 7Edge Полная поддержка 14Firefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
mapChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 38IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 38Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 4.0.0
move
ЭкспериментальнаяУстаревшаяНестандартная
Chrome Нет поддержки НетEdge Нет поддержки НетFirefox Нет поддержки 16 — 34
Замечания
Нет поддержки 16 — 34
Замечания
Замечания Was available in Aurora and Nightly channels only.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile Нет поддержки НетFirefox Android Нет поддержки 38 — 34
Замечания
Нет поддержки 38 — 34
Замечания
Замечания Was available in Aurora and Nightly channels only.
Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Нет поддержки Нет
nameChrome Полная поддержка 7Edge Полная поддержка ДаFirefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
ofChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 38IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетEdge Mobile ? Firefox Android Полная поддержка 38Opera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нетnodejs Полная поддержка 4.0.0
prototypeChrome Полная поддержка 7Edge Полная поддержка ДаFirefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка Да
reduceChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 32Safari Полная поддержка 10WebView Android ? Chrome Android ? Edge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android ? nodejs Полная поддержка 4.0.0
reduceRightChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 32Safari Полная поддержка 10WebView Android ? Chrome Android ? Edge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android ? nodejs Полная поддержка 4.0.0
reverseChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 32Safari Полная поддержка 10WebView Android ? Chrome Android ? Edge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android ? nodejs Полная поддержка 4.0.0
setChrome Полная поддержка 7Edge Полная поддержка 14Firefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs ?
sliceChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 38IE Нет поддержки НетOpera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 38Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Полная поддержка 4.0.0
someChrome Полная поддержка 45Edge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 32Safari Полная поддержка 10WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 37Opera Android Нет поддержки НетSafari iOS Полная поддержка 10Samsung Internet Android ? nodejs Полная поддержка 4.0.0
sortChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 46IE Нет поддержки НетOpera Полная поддержка ДаSafari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 46Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Полная поддержка 4.0.0
subarrayChrome Полная поддержка 7Edge Полная поддержка 14Firefox Полная поддержка 4IE Полная поддержка 10Opera Полная поддержка 11.6Safari Полная поддержка 5.1WebView Android Полная поддержка 4Chrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка 11.6Safari iOS Полная поддержка 4.2Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 0.12
toLocaleStringChrome Полная поддержка ДаEdge ? Firefox Полная поддержка 51IE Полная поддержка 10Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 51Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Даnodejs ?
toStringChrome Полная поддержка ДаEdge ? Firefox Полная поддержка 51IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 51Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Даnodejs ?
valuesChrome Полная поддержка ДаEdge Полная поддержка 14Firefox Полная поддержка 37IE Нет поддержки НетOpera Полная поддержка 26Safari Полная поддержка 10WebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 37Opera Android Полная поддержка ДаSafari iOS Полная поддержка 10Samsung Internet Android Полная поддержка Даnodejs Полная поддержка 0.12
@@iteratorChrome Полная поддержка ДаEdge ? Firefox Полная поддержка 36
Полная поддержка 36
Нет поддержки 27 — 36
Замечания Альтернативное имя
Замечания A placeholder property named @@iterator is used.
Альтернативное имя Использует нестандартное имя: @@iterator
Нет поддержки 17 — 27
Замечания Альтернативное имя
Замечания A placeholder property named iterator is used.
Альтернативное имя Использует нестандартное имя: iterator
IE Нет поддержки НетOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile ? Firefox Android Полная поддержка 36
Полная поддержка 36
Нет поддержки 27 — 36
Замечания Альтернативное имя
Замечания A placeholder property named @@iterator is used.
Альтернативное имя Использует нестандартное имя: @@iterator
Нет поддержки 17 — 27
Замечания Альтернативное имя
Замечания A placeholder property named iterator is used.
Альтернативное имя Использует нестандартное имя: iterator
Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Даnodejs Полная поддержка 0.12
@@speciesChrome Полная поддержка ДаEdge ? Firefox Полная поддержка 48IE Нет поддержки НетOpera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android Полная поддержка 48Opera Android ? Safari iOS ? Samsung Internet Android ? nodejs Полная поддержка 6.5.0
Полная поддержка 6.5.0
Полная поддержка 6.0.0
Отключено
Отключено From version 6.0.0: this feature is behind the --harmony runtime flag.

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Нестандартная. Ожидается плохая кросс-браузерная поддержка.
Нестандартная. Ожидается плохая кросс-браузерная поддержка.
Устаревшая. Не следует использовать в новых веб-сайтах
Устаревшая. Не следует использовать в новых веб-сайтах
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.
Использует нестандартное имя.
Использует нестандартное имя.

Совместимость

Начиная с ECMAScript 2015, конструкторы TypedArray требуют использования оператора new. Вызов конструктора TypedArray как функции без new, отныне выбросит ошибку TypeError.

var dv = Int8Array([1, 2, 3]);
// TypeError: вызов встроенного конструктора Int8Array 
// без new запрещён
var dv = new Int8Array([1, 2, 3]);

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: pk.prog, arai
Обновлялась последний раз: pk.prog,