ES6类:脚本中的意外标记?

pan*_*hro 15 javascript ecmascript-6

我正在复制一个试图学习ES6的例子,但是我收到了一个编译错误:

Unexpected token (2:5)
Run Code Online (Sandbox Code Playgroud)

它似乎是指count = 0;

我究竟做错了什么?

class Counter {
    count = 0;

    constructor() {
        setInterval(function() {
            this.tick();
        }.bind(this), 1000);
    }

    tick() {
        this.count ++;
        console.log(this.count);
    }
}
Run Code Online (Sandbox Code Playgroud)

nil*_*ils 19

在ES2015中,当使用class语法时,您需要在构造函数或其中一个方法中定义实例变量(有下一个迭代的提议,ES2016,以允许您的语法:ES类字段和静态属性)

class Counter {

    constructor() {
        this.count = 0;
        setInterval(function() {
            this.tick();
        }.bind(this), 1000);
    }

    tick() {
        this.count++;
        console.log(this.count);
    }
}

var c = new Counter();
Run Code Online (Sandbox Code Playgroud)

看看小提琴:

http://www.es6fiddle.net/ifjtvu5f/