неожиданно остальное в coffeescript при использовании супер - PullRequest
1 голос
/ 15 марта 2019

Я использую 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
                                          ^^^^

Не уверен, почему это неожиданно еще!

1 Ответ

1 голос
/ 15 марта 2019

Если вы используете coffeescript 2, то вам нужно использовать круглые скобки с super().Сообщение об ошибке здесь действительно должно быть более полезным.

Вы можете прочитать об этом в документах .

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...
...