【あろーかんすう】
アロー関数 とは?
💡 矢印ひとつで関数を「サクッと」書く記法
📌 このページのポイント
アロー関数って普通の関数と何が違うの?
短いだけ?他にも違いがあるの?
一番大きな違いは「this」の扱いだよ。通常のfunctionはその関数が呼ばれた場所でthisが決まるけど、アロー関数は定義された場所のthisをそのまま使うんだ。クラスのメソッドの中でsetTimeoutを使うときなど、thisがずれて困る場面でアロー関数を使うと問題を回避できるよ。
アロー関数にデメリットはないの?
TypeScriptだとアロー関数の書き方って変わるの?
基本は同じだけど、型注釈が付くよ。「const add = (a: number, b: number): number => a + b;」のように引数と戻り値に型を書く。ジェネリクスを使うとき「<T>(x: T) => x」がJSXの<T>タグと混同されてエラーになることがあるんだ。その場合は「<T,>(x: T) => x」のようにカンマを追加するか、function宣言を使う。これはTypeScript + JSX環境ならではのハマりポイントだよ。
まとめ:ざっくりこれだけ覚えればOK!
「アロー関数」って出てきたら「矢印記号で関数を短く書けるJavaScriptの書き方だな」と思えればだいたいOK!
📖 おまけ:英語の意味
「arrow function」 = 矢印関数
💬 「=>」の形が矢印(arrow)に見えることから名付けられたよ