Javascript 类声明问题
因此,我一直在自学新的ES6语法,并编写了一个小示例来实践新功能。现在,我遇到了一个非常奇怪的错误,来自以下代码:Javascript 类声明问题,javascript,ecmascript-6,es6-class,Javascript,Ecmascript 6,Es6 Class,因此,我一直在自学新的ES6语法,并编写了一个小示例来实践新功能。现在,我遇到了一个非常奇怪的错误,来自以下代码: class bird { var actions = ["run","jump","fly", "chirp"]; let actionValue = 11; preformActions(){ actions.map((action) => { console.log(action); }); } } let birdy
class bird {
var actions = ["run","jump","fly", "chirp"];
let actionValue = 11;
preformActions(){
actions.map((action) => {
console.log(action);
});
}
}
let birdy = new bird();
birdy.preformActions();
问题是,在类的语句块的第一行,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();
当然,在这些方法中,您可以使用local
let
/const
/var
等变量。我认为您需要在构造函数中初始化实例属性。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
等变量。类
不定义函数。删除var
和let
。是的,您声明的方式存在问题。类的主体不是语句列表,因此var
和let
不属于它们。您可以拥有函数,如performActions(),以及访问器,如get foo(){return bar;}
,并且应该有一个构造函数…;-)<代码>类
不定义函数
。删除var
和let
。是的,您声明的方式存在问题。类的主体不是语句列表,因此var
和let
不属于它们。您可以拥有函数,如performActions(),以及访问器,如get foo(){return bar;}
,并且应该有一个构造函数…;-)