JavaScript get ArrayBuffer[@@species]
该 **ArrayBuffer[@@species]**
访问器属性会返回 ArrayBuffer
构造器。
语法
ArrayBuffer[Symbol.species]
描述
这个 species 访问器属性会返回默认的 ArrayBuffer
构造器。子类构造器可能会覆盖它以改变构造器赋值。
示例
返回默认的 ArrayBuffer
构造器:
ArrayBuffer[Symbol.species]; // function ArrayBuffer()
在派生集合对象中(比如你定制的 array buffer MyArrayBuffer
),MyArrayBuffer
species 就是 MyArrayBuffer
构造器。但是,你可能想要在派生类里重写它,以期返回的是父类的 ArrayBuffer
对象:
class MyArrayBuffer extends ArrayBuffer {
// Overwrite MyArrayBuffer species to the parent ArrayBuffer constructor
static get [Symbol.species]() { return ArrayBuffer; }
}
规范
Specification | Status | Comment |
---|---|---|
[ECMAScript 2015 (6th Edition, ECMA-262) | ||
get ArrayBuffer [ @@species ]](https://www.ecma-international.org/ecma-262/6.0/#sec-get-arraybuffer-@@species) | Standard | Initial definition. |
[ECMAScript Latest Draft (ECMA-262) | ||
get ArrayBuffer [ @@species ]](https://tc39.es/ecma262/#sec-get-arraybuffer-@@species) | Draft |
浏览器支持
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.
Update compatibility data on GitHub
Desktop | Mobile | Server | |
---|---|---|---|
Chrome | Edge | Firefox | |
— | — | — | — |
@@species |
Chrome ? | Edge Full support 13 | Firefox Full support 48 |
Full support 6.5.0 |
Full support 6.0.0
Disabled
Disabled From version 6.0.0: this feature is behind the --harmony
runtime flag.
|
Legend
Full support
Full support
Compatibility unknown
Compatibility unknown
User must explicitly enable this feature.
User must explicitly enable this feature.