[英]Arrow function with Square Brackets?
我正在編寫一些代碼,但偶然發現了一些我不熟悉的東西。
export const doSomething = () => [ someFunction(), bind(stuff, stuff, stuff) ];
我從來沒有見過帶有這樣方括號的箭頭 function,還有其他人嗎? 如果是這樣,它的工作原理是什么?
此代碼意味着您的 function doSomething
返回一個數組時
[0]
元素 - function someFunction()
和的執行結果
[1]
元素 - function bind(stuff, stuff, stuff)
的執行結果。
這是一個快捷方式:
export const doSomething = () => {
return [ someFunction(), bind(stuff, stuff, stuff) ]
};
但如果你想為返回對象創建快捷方式,請小心。 您必須將對象包裝在括號()
中,如下所示:
export const doSomething = () => ({ name: 'John' })
。
它只是返回一個數組。
您可以將它與解構分配一起使用,例如
const [someResult, boundStuff] = doSomething()
或者就像任何舊的 function 例如
const something = doSomething()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.