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/