這個問題在這里已經有了答案: java-script箭頭函式回傳(x ,x)[重復] 3個答案 JavaScript 運算式中的逗號有什么作用? (5 個回答) 逗號運算子什么時候有用? (15 個回答) 3 小時前關閉。
我嘗試查看MDN on arrow functions,鏈接到文章ES6 In Depth: Arrow functions and the ECMAScript grammar。我沒有找到這種風格的函式體的例子。
請參見takeStockForBowl下面的示例代碼。
問題,這種風格的函式定義會被稱為什么?
也許這是對更基本的 JavaScript 語法的重新利用,我只是看不到它。如果很明顯,請道歉。
const takeStockForBowl = bowl => ( // open paren
takeForBowl('protein', bowl), // side effect 1
takeForBowl('grain', bowl), // side effect 2
takeForBowl('veg', bowl), // ...
bowl.supplied = true, // side effect n
bowl // result
) // close paren
uj5u.com熱心網友回復:
首先,takeStockForBowl真的很難讀。
要了解這里發生了什么,我們需要了解兩件事:
- 箭頭函式
- 逗號運算子
基本上作者在這里所做的是避免撰寫以下內容:
- 顯式回傳陳述句
- 函式體的花括號
通過利用(或濫用)箭頭函式和逗號運算子中的隱式回傳。
逗號運算子的作用是從左到右評估其每個運算元,并回傳最后一個運算元的值,在這種情況下為bowl.
這個函式的更易讀的版本是:
const takeStockForBowl = bowl => {
takeForBowl('protein', bowl);
takeForBowl('grain', bowl);
takeForBowl('veg', bowl);
bowl.supplied = true;
return bowl;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/479517.html
下一篇:如何一次呼叫串列中的所有專案?
