LoginSignup
yosaku_ibs
@yosaku_ibs

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

()=>()の意味

解決したいこと

アロー関数について、()=>()という書き方はどういう時に使うのでしょうか?
※アロー関数と言えば、()=>{}という書き方ををよく目にします。

ソースコード

import React from 'react';

const Header = () => (
    <header>
        <h1>Event Manager</h1>
    </header>
);

export default Header;


自分で試したこと

MDNで調べましたが、()=>()についての適切な説明を見つける事ができませんでした。

以上、お手数ではございますが
もしご存知の方がいらっしゃいましたら
ご教示の程よろしくお願い申し上げます。

2

2Answer

(hoge) => (fuga) は (hoge) => { return fuga }
と等価です。つまり() => ()は後ろの()の値を返す、returnを省略した形のアロー関数ですね。

2

Comments

  1. @yosaku_ibs

    Questioner
    take_me様

    お世話になります。

    ご回答下さり誠にありがとうございます。

    (hoge) => (fuga) は (hoge) => { return fuga }

    と等価です。

    このご説明の仕方が直感的に理解しやすく非常に納得のできる説明でした。

    また、ご紹介くださったリンク先の記事も拝見させて頂きました。

    アロー関数についての知識が増えました。

    ご教示下さり誠にありがとうございました。

    厚く御礼申し上げます。

アロー関数の処理内容がreturn文のみの場合、中括弧{}returnは省略できます。
ご記載の例については、()=>()という構文があるのではなく、可読性を理由に、returnする内容を単に丸括弧で囲んだものだと思います。
以下のコードはすべて同一の処理内容となります。

const Header = () => {
    return (
        <header>
            <h1>Event Manager</h1>
        </header>
    );
}
const Header = () => (
        <header>
            <h1>Event Manager</h1>
        </header>
);
const Header = () => 
    <header>
        <h1>Event Manager</h1>
    </header>
;
1

Comments

  1. @yosaku_ibs

    Questioner
    mori95y様

    お世話になります。

    ご回答下さりありがとうございます。

    可読性を上げるために丸括弧で囲むというテクニックがあるのですか。。知識が増えました^^ありがとうございます。

    また同一処理を3パターンで示して下さったのが非常にありがたいです。

    おかげでアロー関数を使ったコードリーディングの際に迷う頻度が減らせそうです。

    この度はご丁寧な解説を含めたご回答ありがとうございました。

    厚く御礼申し上げます。

Your answer might help someone💌