We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

这篇翻译不完整。请帮忙从英语翻译这篇文章

Array[@@species]访问器属性返回 Array 的构造函数。

语法

Array[Symbol.species]

描述

species 属性返回 Array 对象的默认构造函数。

子类的构造函数会覆盖和改变构造函数的指向。

示例

species 属性返回默认构造函数, 它用于 Array 对象的构造函数 Array:

Array[Symbol.species]; // function Array()

在继承类的对象中 (例如你自定义的数组 MyArray), MyArray 的 species 属性返回的是 MyArray 这个构造函数. 然而你可能想要覆盖它,以便在你继承的对象 MyArray 中返回父类的构造函数 Array :

class MyArray extends Array {
  // 重写 MyArray 的 species 属性到父类 Array 的构造函数
  static get [Symbol.species]() { return Array; }
}

规范

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
get Array [ @@species ]
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
get Array [ @@species ]
Draft  

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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) ? ? ?

参考

文档标签和贡献者

此页面的贡献者: hongxu.Wei, looch5
最后编辑者: hongxu.Wei,