gpt4 book ai didi

javascript - Personnage 类,写入函数的普通 javascript 错误

转载 作者:行者123 更新时间:2023-11-28 17:33:26 25 4
gpt4 key购买 nike

我在使用 ES6 格式创建函数时遇到问题,在我的 move 函数中出现此错误,但我想这样做:

Uncaught SyntaxError: Unexpected token =

如果您想要我的代码的其他部分,请告诉我。

class Personnage {

constructor(direction) {
this.x = 0
this.y = 200
this.direction = direction

}

move = (direction) => {
let coord = {
'x': this.x,
'y': this.y
};
switch (direction) {
case DIRECTION.GAUCHE:
coord.x--
console.log('gauche')
break;
case DIRECTION.DROITE:
coord.x++
console.log('droite')
break;
case DIRECTION.HAUT:
console.log('espace')
coord.y--
break;
}
return coord;
}
}

export default Personnage

最佳答案

该代码不是“ES6”(ES2015)格式。要在 Personnage 类中编写方法,您可以这样做:

move(direction) {
// ...code here...
}

您的代码采用 being considered for addition 的形式。它目前处于第 3 阶段(see here 表示阶段的含义),这意味着它可能会在某个时候添加,并且它通常受到 Babel 等转译器的支持,但它还不是 JavaScript 的一部分(不是 ES2015 又名“ES6”) ,也不是 ES2016、ES2017 或即将推出的 ES2018)。

两者的区别

// #1
move(direction) {
// ...code here...
}

// #2
move = (direction) => {
// ...code here...
};

(注意末尾的 ;)是 #1 使用方法语法,它在原型(prototype)上创建由所有实例共享的方法,而 #2 是实例属性初始值设定项使用箭头函数,为每个实例创建一个新的箭头函数(就像在构造函数中一样)。当您调用方法时,这可能很重要(方法语法使用调用它的 this ,箭头函数则不然,它们使用它们关闭的 this )。

关于javascript - Personnage 类,写入函数的普通 javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49734001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com