javascript - ES6 类 : Unexpected token in script?

标签 javascript ecmascript-6 class-fields

我正在复制一个尝试学习 ES6 的示例,但出现编译错误:

Unexpected token (2:5)

好像是指count=0;

我做错了什么?

class Counter {
    count = 0;

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

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

最佳答案

在 ES2015 中,当使用 class 语法时,您需要在构造函数或其中一个方法中定义实例变量(下一个迭代,ES2016,允许您语法:ES Class Fields & Static Properties )

class Counter {

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

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

var c = new Counter();

查看 fiddle :

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

关于javascript - ES6 类 : Unexpected token in script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33042084/

相关文章:

javascript - 在 react 中创建受控输入

javascript - 对如何使用模块模式的困惑

javascript - 将 fetch 与 async/await 一起使用会返回 [object Object]

javascript - 使用 React 时,在构造函数中使用粗箭头函数还是绑定(bind)函数更可取?

javascript - 在箭头函数上运行 eslint 时报告意外 token "="

javascript - ReactJS 中属性的类字段

javascript - 使用输入过滤字段并在angularJS中下拉

javascript - 在 HTML5 中使用 Pattern 属性

javascript - TypeScript/JavaScript - 导入所有类型

javascript - 函数参数对象解构导致 undefined variable