阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS get Array[@@species]

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

      语法

      Array[Symbol.species]
      
      

      返回值

      Array 的构造函数。

      描述

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

      规范

      SpecificationStatusComment
      ECMAScript 2015 (6th Edition, ECMA-262) get Array [ @@species ]StandardInitial definition.
      ECMAScript Latest Draft (ECMA-262) get Array [ @@species ]Draft 

      参考

      目录
      目录