Coffeescript'错误:无效的对象键'

Fat*_*sis 5 coffeescript

我对coffeescript很新.那么这个错误究竟意味着什么呢?

这是班级

class Animation
    constructor: (t) ->
        @startTime: t
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置它,以便此类在构造期间将成员startTime初始化为t.我做错了吗?

Dan*_*lan 8

你的代码是在构造函数中创建一个对象(而不是在任何地方保存引用)@startTime.发生此错误是因为@它不是对象键的有效字符.

试试这个:

class Animation
    constructor: (@startTime) ->
Run Code Online (Sandbox Code Playgroud)

这是生成的JavaScript:

var Animation;

Animation = (function() {
  function Animation(startTime) {
    this.startTime = startTime;
  }

  return Animation;

})();
Run Code Online (Sandbox Code Playgroud)

在这里您可以看到您想要做的语法:http://coffeescript.org/#classes

以下是您错误且无意中使用的语法:http://coffeescript.org/#literals(标题为"对象和数组"的部分)

  • @FatalCatharsis:`@startTime = t` 将创建一个成员,形式为`k: v` 的东西只是伪装的`{ k: v }` 所以`@startTime: t` 是尝试编写`{ @startTime : t }` 这是一个语法错误。 (2认同)