意外字符=当使用带有webpack / babel env预设的箭头功能时

时间:2018-01-09 19:52:34

标签: javascript webpack ecmascript-6 babel arrow-functions

这种语法有什么问题:

export default class Pano {
    constructor() {
        this.buildReferences();
    }

    buildReferences=()=> {
        console.log(window);
    }
}

抛出错误Parsing error: Unexpected token =

我在其他项目中使用过这个,所以我不确定发生了什么。

1 个答案:

答案 0 :(得分:1)

  

类主体只能包含方法,但不能包含数据属性

因此,当您在ES6类中时,buildReferences()语法的工作方式与箭头函数语法类似。

如果你想实际做你想做的事情,你必须在另一个函数内部进行,比如构造函数:

class Pano {
    constructor() {

        // you can create a data property here and assign it a function
        this.buildReferences = ()=> {
            console.log("hello");
        }

        this.buildReferences();

    }

    // this is the syntax for a function in an ES6 class
    regularFunction(){

    }

}

let test = new Pano();

仅供参考:TypeScript支持数据属性,因此您所做的工作将适用于Typescript。