TypedArray[@@species]
- это способ доступа, с помощью которого можно получить конструктор типизированного массива.
Синтаксис
TypedArray[Symbol.species] где TypedArray это один из: Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array
Описание
Свойство species
возвращает конструктор "по умолчанию" для объектов типизированного массива. Конструкторы подкласса могут его переопределить.
Примеры
Свойство species
возвращает функцию-конструктор "по умолчанию", которая является одним из конструкторов данного типизированного массива:
Int8Array[Symbol.species]; // function Int8Array() Uint8Array[Symbol.species]; // function Uint8Array() Float32Array[Symbol.species]; // function Float32Array()
В производном объекте-массиве (например, вы разработали свой массив MyTypedArray
), MyTypedArray
определяет свой конструктор. Однако, вы можете захотеть его переопределить, например, возвращать родительский объект из вашего производного класса:
class MyTypedArray extends Uint8Array { //Переопределение вида MyTypedArray на родительский Uint8Array static get [Symbol.species]() { return Uint8Array; } }
Спецификации
Спецификация | Статус | Описание |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'get %TypedArray% [ @@species ]' в этой спецификации. |
Стандарт | Изначальное определение |
ECMAScript 2017 Draft (ECMA-262) Определение 'get %TypedArray% [ @@species ]' в этой спецификации. |
Черновик |
Совместимость браузеров
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | ? | 48 (48) | ? | ? | ? |
Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | ? | ? | 48.0 (48) | ? | ? | ? |