我正在尝试使用extends for array ..我应该在构造函数中添加什么..这是代码
class List extends Array
constructor: ()->
super arguments
this
list = new List("hello","world")
alert list[0]
似乎不起作用..
答案 0 :(得分:5)
没有简单的方法可以从数组原型“继承”。你应该使用组合,即
class List
constructor: ()->
this.array = new Array(arguments);
getArray :()->
this.array
list = new List("hello","world")
alert list.getArray()[0]
或者您将花时间实现复杂的解决方案,一旦您尝试解析数组或访问其长度值,它们就会失败。
更多关于这个问题:
http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/
答案 1 :(得分:-1)
我最近没有使用咖啡脚本,所以这只是一个猜测,但可能是这样的:
class List extends [].prototype
可能有用吗?
编辑:每个“亩太短”的评论,似乎问题不是咖啡脚本相关。您可能会发现此相关的SO帖子很有用,因为所选答案为此问题提供了两种可能的解决方案: Is this a reasonable way to 'subclass' a javascript array?