所以我一直在自学新的 ES6 语法,并整理了一个小示例来练习新功能。现在我从这段代码中得到了一个非常奇怪的错误:
class bird {
var actions = ["run","jump","fly", "chirp"];
let actionValue = 11;
preformActions(){
actions.map((action) => {
console.log(action);
});
}
}
let birdy = new bird();
birdy.preformActions();
问题是,在类的语句 block 的第一行,jslint 给了我一个错误,指出“意外的标记”。
我声明的方式有问题吗?这似乎是一个很容易解决的问题,但我错过了什么?
最佳答案
我认为您会希望在构造函数中初始化实例属性。 class
主体不得包含 var
或 let
声明。
class Bird {
constructor() {
this.actions = ["run","jump","fly", "chirp"];
this.actionValue = 11;
}
performActions(){
for (const action of this.actions)
console.log(action);
}
}
let birdy = new Bird();
birdy.performActions();
当然,在这些方法中你可以有本地let
/const
/var
等变量。
关于javascript - 类声明问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49290194/