带方括号的箭头功能?

Arrow function with Square Brackets?

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

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

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

它只是返回一个数组。

您可以将它与解构赋值一起使用,例如

const [someResult, boundStuff] = doSomething()

或者就像任何旧函数一样,例如

const something = doSomething()

这段代码表示你的函数doSomethingreturns一个数组当

[0] 元素 - 函数 someFunction()

的执行结果

[1]元素-函数bind(stuff, stuff, stuff).

的执行结果

这是一个快捷方式:

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

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

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