【发布时间】:2016-10-26 02:35:12
【问题描述】:
我试图在不使用 ES6 class 语法糖的情况下继承 Array 的所有方法。此外,我希望像 new MyArray().map() 这样的方法返回 MyArray 的实例。
我的问题的简单说明:
class MyArrayES6 extends Array{}
new MyArrayES6().slice() instanceof MyArrayES6 //true
function MyArray(){}
MyArray.prototype = Object.create(Array.prototype)
MyArray.prototype.constructor = MyArray
MyArray[Symbol.species] = MyArray //Doing this doesn't affect the outcome
new MyArray().slice() instanceof MyArray //false, to my suprise!
A more complete code example 编辑:给出更清晰的例子
【问题讨论】:
-
最后是寂寞
So,..? -
可悲的是,它死于孤独:(
标签: ecmascript-6 symbols