使用超级时,coffeescript中出乎意料的其他事情
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用超级时,coffeescript中出乎意料的其他事情相关的知识,希望对你有一定的参考价值。
我正在使用backbone.js,在coffeescript中编写它但得到此错误并且无法解决它!
代码片段:
module.exports = class CoreModel extends Backbone.Model
destroyed: false
# Helper to toggle the state of boolean value (using not)
toggle: (key) -> @swap key, invert
# Helper to change the value of an entry using a function.
swap: (key, f) -> @set key, f @get key
toJSON: -> if @destroyed then 'DESTROYED' else super
错误:
[stdin]:11:45: error: unexpected else
toJSON: -> if @destroyed then 'DESTROYED' else super
^^^^
不知道为什么这是一个意外的其他!
答案
如果您使用的是coffeescript 2,则需要在super()
中使用括号。这里的错误信息应该更有帮助。
你可以在the docs上阅读它。
module.exports = class CoreModel extends Backbone.Model
destroyed: false
# Helper to toggle the state of boolean value (using not)
toggle: (key) -> @swap key, invert
# Helper to change the value of an entry using a function.
swap: (key, f) -> @set key, f @get key
toJSON: -> if @destroyed then 'DESTROYED' else super()
如果您发现需要旧行为的情况(所有参数都转发到super
调用,那么您可以使用:
foo: -> super arguments...
以上是关于使用超级时,coffeescript中出乎意料的其他事情的主要内容,如果未能解决你的问题,请参考以下文章
在编译字符串插值实例时,Coffeescript是否始终使用ES6模板文字?
CoffeeScript - 如何在 ruby on rails 中使用咖啡脚本?
在同一个项目中同时使用 coffeescript 和 typescript