在箭頭函數中使用括號或大括號
在 ES6 中,箭頭函數為定義函數提供了簡潔的語法。然而,一個常見的混淆是在粗箭頭 (=>) 之後使用括號或大括號。
單值傳回:括號
括號用於下列情況箭頭函數傳回單一值,例如:
const foo = (params) => ( <span> <p>Content</p> </span> );
在此範例中,箭頭函數傳回一個JSX 元素。由於是單一元素,所以使用括號。
多行程式碼:大括號
箭頭函數執行多行程式碼時需要大括號:
const handleBar = (e) => { e.preventDefault(); dispatch('logout'); };
這裡,箭頭函數執行多個操作,因此它使用了curly
與JSX的歧義
以下範例中的括號可能看起來很混亂,因為它使用了 JSX:
const foo = (params) => ( <span> <p>Content</p> </span> );
雖然它看起來使用多行,JSX實際上被編譯為單一元素,這就是括號的原因
其他範例
為了澄清起見,這裡有一些附加範例:
const a = (who) => "hello " + who + "!"; const b = (who) => ("hello " + who + "!"); const c = (who) => ( "hello " + who + "!" ); const d = (who) => ( "hello " + who + "!" ); const e = (who) => { return "hello " + who + "!"; };
這些函數都會傳回相同的結果,示範了根據執行的數量靈活使用括號或大括號
避免解析器混亂
括號也可以用在物件文字周圍,以避免解析器將它們視為程式碼區塊:
const x = () => {} // Does nothing const y = () => ({}) // Returns an object
以上是ES6 箭頭函數中什麼時候應該使用括號或大括號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!