TypedArray[@@species] accessor property returns the constructor of a typed array .

描述

species accessor property returns the default constructor for typed array objects. Subclass constructors may over-ride it to change the constructor assignment.

范例

Species in ordinary objects

species property returns the default constructor function, which is one of the typed array constructors for a given typed array 对象:

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; }
}
					

规范

规范
ECMAScript (ECMA-262)
The definition of 'get %TypedArray% [ @@species ]' in that specification.

浏览器兼容性

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. 更新 GitHub 上的兼容性数据
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
@@species Chrome 51 Edge 13 Firefox 48 IE No Opera 38 Safari No WebView Android 51 Chrome Android 51 Firefox Android 48 Opera Android 41 Safari iOS No Samsung Internet Android 5.0 nodejs 6.5.0
6.5.0
6.0.0 Disabled
Disabled From version 6.0.0: this feature is behind the --harmony runtime flag.

图例

完整支持

完整支持

不支持

不支持

用户必须明确启用此特征。

用户必须明确启用此特征。

另请参阅

元数据

  • 最后修改:
  1. 标准内置对象
  2. TypedArray
  3. 特性
    1. TypedArray.BYTES_PER_ELEMENT
    2. TypedArray.name
    3. TypedArray.prototype.buffer
    4. TypedArray.prototype.byteLength
    5. TypedArray.prototype.byteOffset
    6. TypedArray.prototype.length
    7. get TypedArray[@@species]
  4. 方法
    1. TypedArray.from()
    2. TypedArray.of()
    3. TypedArray.prototype.copyWithin()
    4. TypedArray.prototype.entries()
    5. TypedArray.prototype.every()
    6. TypedArray.prototype.fill()
    7. TypedArray.prototype.filter()
    8. TypedArray.prototype.find()
    9. TypedArray.prototype.findIndex()
    10. TypedArray.prototype.forEach()
    11. TypedArray.prototype.includes()
    12. TypedArray.prototype.indexOf()
    13. TypedArray.prototype.join()
    14. TypedArray.prototype.keys()
    15. TypedArray.prototype.lastIndexOf()
    16. TypedArray.prototype.map()
    17. TypedArray.prototype.reduce()
    18. TypedArray.prototype.reduceRight()
    19. TypedArray.prototype.reverse()
    20. TypedArray.prototype.set()
    21. TypedArray.prototype.slice()
    22. TypedArray.prototype.some()
    23. TypedArray.prototype.sort()
    24. TypedArray.prototype.subarray()
    25. TypedArray.prototype.toLocaleString()
    26. TypedArray.prototype.toString()
    27. TypedArray.prototype.values()
    28. TypedArray.prototype[@@iterator]()
  5. 相关页面:
  6. Int8Array
  7. Uint8Array
  8. Uint8ClampedArray
  9. Int16Array
  10. Uint16Array
  11. Int32Array
  12. Uint32Array
  13. Float32Array
  14. Float64Array
  15. BigInt64Array
  16. BigUint64Array
  17. 继承:
  18. Function
  19. 特性
    1. Function.arguments
    2. Function.caller
    3. Function.displayName
    4. Function.length
    5. Function.name
  20. 方法
    1. Function.prototype.apply()
    2. Function.prototype.bind()
    3. Function.prototype.call()
    4. Function.prototype.toSource()
    5. Function.prototype.toString()
  21. Object
  22. 特性
    1. Object.prototype.__proto__
    2. Object.prototype.constructor
  23. 方法
    1. Object.prototype.__defineGetter__()
    2. Object.prototype.__defineSetter__()
    3. Object.prototype.__lookupGetter__()
    4. Object.prototype.__lookupSetter__()
    5. Object.prototype.hasOwnProperty()
    6. Object.prototype.isPrototypeOf()
    7. Object.prototype.propertyIsEnumerable()
    8. Object.prototype.toLocaleString()
    9. Object.prototype.toSource()
    10. Object.prototype.toString()
    11. Object.prototype.valueOf()
    12. Object.setPrototypeOf()