带方括号的箭头功能?

时间:2019-11-04 21:36:03

标签: javascript ecmascript-6 arrow-functions

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

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

我从未见过带有方括号的箭头功能,还有其他人吗?如果是这样,它是如何工作的呢?

2 个答案:

答案 0 :(得分:4)

此代码表示您的函数doSomething

时返回一个数组

[0]元素-函数someFunction()

的执行结果

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

这是以下操作的快捷方式:

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

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

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

答案 1 :(得分:3)

它只是返回一个数组。

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

const [someResult, boundStuff] = doSomething()

或者就像任何旧功能一样

const something = doSomething()