【问题标题】:Arrow function with Square Brackets?带方括号的箭头函数?
【发布时间】:2020-03-01 05:47:40
【问题描述】:

我正在编写一些代码,但偶然发现了一些我不熟悉的东西。

export const doSomething = () => [ someFunction(), bind(stuff, stuff, stuff) ]; 

我从来没有见过像这样的方括号的箭头函数,还有其他人吗?如果是这样,它的工作原理是什么?

【问题讨论】:

  • 不就是返回一个数组吗?

标签: javascript ecmascript-6 arrow-functions


【解决方案1】:

这段代码表示你的函数doSomething

时返回一个数组

[0]元素 - 函数someFunction()

的执行结果

[1]元素 - 函数bind(stuff, stuff, stuff)的执行结果。

这是一个快捷方式:

export const doSomething = () => {
    return [ someFunction(), bind(stuff, stuff, stuff) ]
}; 

但如果你想创建返回对象的快捷方式,请小心。您必须将对象括在括号 () 中,如下所示:

export const doSomething = () => ({ name: 'John' }).

【讨论】:

    【解决方案2】:

    它只是返回一个数组。

    您可以将它与解构分配一起使用,例如

    const [someResult, boundStuff] = doSomething()
    

    或者就像任何旧功能一样,例如

    const something = doSomething()
    

    【讨论】:

      猜你喜欢
      • 2016-12-08
      • 2018-09-28
      • 2016-05-28
      • 2020-06-21
      • 2022-01-19
      • 2019-02-25
      • 2017-05-22
      相关资源
      最近更新 更多