【问题标题】:Using arrow function in Javascript Protractor test automation framework在 Javascript Protractor 测试自动化框架中使用箭头函数
【发布时间】:2020-04-23 20:48:54
【问题描述】:

我想使用如下方法和箭头函数:

clickElement = element => element.click();

而不是像下面这样的代码:

clickElement(element) {
    return element.click();
}

但我在第一个等号下遇到语法错误。我该如何解决这个问题并使用箭头功能?有人可以请教。提前致谢!

【问题讨论】:

  • 这个函数写在哪里?在类、对象、另一个函数内部?
  • 这样使用: const clickElement = element => element.click();
  • @adiga - 函数在一个类中
  • @Sunil tc - 当我使用 'const' 时,我收到错误消息 - “'const' 只能在 .ts 文件中使用”。我没有使用 Typescript。
  • 为什么要转换成箭头函数? clickElement(element) {} 会将函数添加到类原型中。而clickElement = element => element.click() 将创建一个class field。您需要启用该功能,因为它目前尚未得到广泛支持。请通过这个:How to use arrow functions (public class fields) as class methods?

标签: javascript protractor babeljs arrow-functions


【解决方案1】:

将函数分配给变量。

const clickElement = element => element.click();

【讨论】:

  • clickElement 没有 function 关键字。所以,这是在一个类或一个对象中,const 不起作用
  • @adiga 箭头函数不需要函数关键字。
  • 我的意思是 OP 的工作代码clickElement(element) { return element.click(); }
  • 我只是想实现箭头功能来简化代码。我怎样才能做到这一点?当我使用 'const' 时,我收到错误消息 - “'const' 只能在 .ts 文件中使用”。我没有使用 Typescript。
  • @AravindanK 他们是完全不同的东西。箭头函数将被添加到类的每个实例中。使用您现有的语法,它将仅添加到yourClass.prototype.clickElement。如果您还想使用箭头,则需要启用该功能:How to use arrow functions (public class fields) as class methods?
【解决方案2】:

这样试试?

const clickElement = (element) => element.click();

这样称呼它:

clickElement(someElement);

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 2014-06-15
    相关资源
    最近更新 更多