【问题标题】: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()