The TypedArray[@@species]
accessor property returns the constructor of a typed array.
Syntax
TypedArray[Symbol.species] where TypedArray is one of: Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array
Description
The species
accessor property returns the default constructor for typed array objects. Subclass constructors may over-ride it to change the constructor assignment.
Examples
The species
property returns the default constructor function, which is one of the typed array constructors for a given typed array object:
Int8Array[Symbol.species]; // function Int8Array() Uint8Array[Symbol.species]; // function Uint8Array() Float32Array[Symbol.species]; // function Float32Array()
In a derived collection object (e.g. your custom typed array MyTypedArray
), the MyTypedArray
species is the MyTypedArray
constructor. However, you might want to overwrite this, in order to return a parent typed array object in your derived class methods:
class MyTypedArray extends Uint8Array { // Overwrite MyTypedArray species to the parent Uint8Array constructor static get [Symbol.species]() { return Uint8Array; } }
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'get %TypedArray% [ @@species ]' in that specification. |
Standard | Initial definition. |
ECMAScript Latest Draft (ECMA-262) The definition of 'get %TypedArray% [ @@species ]' in that specification. |
Draft |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | ? | 48 (48) | ? | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | ? | 48.0 (48) | ? | ? | ? |