【问题标题】:What do you call this type of code? Is it a closure?你怎么称呼这种类型的代码?是闭包吗?
【发布时间】:2018-12-19 17:24:01
【问题描述】:

我工作中的应用程序 (React.js) 需要我大量传递函数,而且我经常必须这样做:(es6 javascript)

({ ...args }) => this.props.exampleFunc({ newArg, ...args })

获取一个我拥有的函数并这样做以注入一个参数而不调用它。我正在阅读有关闭包的内容,我认为这可能就是这个,但我不确定我是否完全理解。是这样的吗?

编辑:澄清一下,我不是在谈论箭头,我只是在谈论 newArg 的技巧

【问题讨论】:

  • 是的,箭头函数关闭this,使其成为闭包。
  • @Igor 我不是在谈论箭头,很抱歉造成混乱
  • 我没关注,newArg 有什么技巧?它是一个被传递到exampleFunc 的新对象的赋值,它可能存在于我正在考虑的函数之外,但没有更多代码我不能说。
  • 这就是我所指的。只是想知道是否有这样做的名字。

标签: javascript functional-programming theory


【解决方案1】:

这是一个arrow function,是的,它是一种闭包(如果它使用来自外部范围的名称)。

与常规的function() {} 函数相比,箭头函数还从外部范围捕获this,这在各种面向对象的情况下都很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-18
    • 2021-11-15
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2023-03-29
    • 2013-04-01
    • 1970-01-01
    相关资源
    最近更新 更多