javascript - coffeescript 如何使用数组的扩展

标签 javascript coffeescript

我正在尝试使用数组的扩展..我应该在构造函数中放入什么..这是代码

class List extends Array
  constructor: ()->
      super arguments
      this

list = new List("hello","world")
alert list[0]

好像不行..

最佳答案

没有简单的方法可以从数组原型(prototype)“继承”。你应该使用 composition ,即

    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/

关于javascript - coffeescript 如何使用数组的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9688009/

相关文章:

javascript - React 不替换 div 中的内容

javascript - 当单击一个国家后比例或值发生变化时,JVectorMap Drill-Down 不会为区域着色

Javascript - 更改事件对象同级上的文本

javascript - 仅为智能手机加载不同的javascript

javascript - 指定 infoVis JIT 图中节点之间的最小距离

javascript - jquery - this.each 没有执行

javascript - Rails Ajax 远程 Javascript

javascript - CoffeeScript 为对象(命名类)生成动态变量名称

javascript - Angular2 不遍历模型数组

javascript - 将图像从 readAsDataURL 转换为 readAsBinaryString