CoffeeScript - 将参数传递给超级构造函数时出现问题
CoffeeScript - problems passing args to super constructor
我有以下CoffeeScript代码:
planet = new Planet p5, {x: 100, y: 100, diameter: 20}
在其他地方:
class GameObject
constructor: (@p5, @x, @y) ->
@selected = false
class Planet extends GameObject
constructor: (p5, opts) ->
super (p5 opts.x opts.y)
@diameter = opts.diameter
对于super
行,它说:
未捕获的类型错误:对象 #<对象的属性"x"> 不是函数
当它只是时没关系:
class Planet
constructor: (p5, opts) ->
@x = opts.x
@y = opts.y
@diameter = opts.diameter
@selected = false
即在使其成为更通用GameObject
的孩子之前......我已经尝试了一些重新安排以使其工作,但都是徒劳的。不确定它是否与CoffeeScript或JavaScript有关。官方网站上的"尝试CoffeScript"在这里没有发现错误。浏览器是铬...这里出了什么问题,我该如何克服?
您缺少用于分隔参数的逗号:
super (p5 opts.x opts.y)
应该是
super (p5, opts.x, opts.y)
否则,该行被解释为super(p5(opts.x(opts.y)))
,因此"不是函数"错误。
你不就是想要吗
super p5, opts.x, opts.y
这是指向运行且没有错误的代码的链接。
相关文章:
- ES6构造函数返回基类的实例
- 使用Google Visualization动态调用构造函数
- 尝试将变量传递到对象中时的作用域问题'的方法构造函数
- 我的三角形区域构造函数有什么问题
- 是否存在替换Javascript构造函数的问题'原型,而不是添加到原型中
- CoffeeScript - 将参数传递给超级构造函数时出现问题
- 新手:Javascript构造函数和范围上下文问题
- Blob 构造函数 Safari 问题
- 什么'我的JavaScript对象构造函数有问题
- Javascript数组构造函数问题
- 使用构造函数上的循环为测验问题的答案生成复选框
- Javascript继承类构造函数问题
- 关于javascript原型和构造函数的一些问题
- 令人费解的Javascript构造函数问题
- 将this.constructor与构造函数调用一起使用以访问静态属性时是否存在兼容性问题
- 将JavaScript构造函数作为函数调用(没有新的?)是否存在问题
- 更改构造函数原型时出现问题
- JavaScript:关于构造函数**新**关键字的问题
- Javascript's函数构造函数-作用域问题
- Javascript构造函数和原型问题