首頁 > web前端 > js教程 > ES6 箭頭函數中什麼時候應該使用括號或大括號?

ES6 箭頭函數中什麼時候應該使用括號或大括號?

Mary-Kate Olsen
發布: 2024-12-09 15:02:39
原創
709 人瀏覽過

When Should I Use Parentheses or Curly Braces in ES6 Arrow Functions?

在箭頭函數中使用括號或大括號

在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板