The TypedArray[@@species]
accessor property returns the constructor of a typed array.
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
Species in ordinary objects
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()
Species in derived objects
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 |
---|
ECMAScript (ECMA-262) The definition of 'get %TypedArray% [ @@species ]' in that specification. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@species | Chrome Full support 51 | Edge Full support 13 | Firefox Full support 48 | IE No support No | Opera Full support 38 | Safari No support No | WebView Android Full support 51 | Chrome Android Full support 51 | Firefox Android Full support 48 | Opera Android Full support 41 | Safari iOS No support No | Samsung Internet Android Full support 5.0 | nodejs
Full support
6.5.0
|
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.