我将通过javascript为类创建示例代码。 我想实现使用箭头功能返回价格的方法。 在我写的代码下面,它可以工作。
class Product{
constructor(name, weight, price){
this._name = name;
this._weight = weight;
this._price = price;
}
//calculate = (weight) => (weight / 100) * _price;
calculate(weight){
return (weight / 100) * this._price;
}
}
const product = new Product("fork", 100, 1690);
alert( product.calculate(200) + "won");
但修改为
后calculate = (weight) => (weight / 100) * _price;
/*
calculate(weight){
return (weight / 100) * this._price;
}
*/
发生错误"未捕获的SyntaxError:意外的令牌="在铬。
为什么会出现这种错误?以及如何修改? 谢谢观看!!
答案 0 :(得分:0)
箭头函数只是一个常规属性而不是方法,因此您不能像声明方法那样声明它。把它放在构造函数中:
constructor(name, weight, price){
this._name = name;
this._weight = weight;
this._price = price;
this.calculate = weight => weight / 100 * this._price;
}
如果您正在使用Babel,则可以将其声明为方法,但由于您的问题标有" Google Chrome"我认为你想要香草ES6。