【问题标题】:declare arrow function in the class [duplicate]在类中声明箭头函数[重复]
【发布时间】:2018-10-16 23:03:51
【问题描述】:

我创建了如下所示的类。跟风有什么问题吗?我只是按照别人的方式,但它不断给我,'测试运行失败:文件 script.js 的语法无效'。我已经很努力地搜索了,我认为他们没有任何例外。您能对此提出一些建议吗?

class AAA {
   constructor(value) {
     this.value = value;
   }

   add = a => value + a;
}

【问题讨论】:

  • 您不能在课程主体内进行作业。方法语法有什么问题:add(a) { return this.value + a; }?箭头函数无论如何都不起作用,因为您需要this 才能访问value,而箭头函数无法做到。
  • 如果没有转译器,你还不能做到这一点。
  • 非常感谢您的回答。我只是更改为常规函数定义。看起来 React 组件就是这样使用的。 :)

标签: javascript class ecmascript-6 arrow-functions


【解决方案1】:

您不能在班级正文中分配。您可以在构造函数中执行此操作,也可以使用 TypeScript。

class AAA {
   constructor(value) {
     this.value = value;
     
     this.add = a => this.value + a;
   }
}


let aaa = new AAA(5);

console.log(aaa.add(5));

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2018-08-07
    相关资源
    最近更新 更多