【あろーかんすう】
アロー関数 とは?
最終更新:
💡 短い式をすっきり書ける、矢印の関数
「=>」を使って関数を表すJavaScriptの構文。短い式を返す関数を簡潔に書ける。独自のthisやargumentsを持たず、必要なら外側のスコープのものを参照する。
📌 このページのポイント
- 単一の式を本体にすると、その式の値をreturnなしで返す
- 波括弧で本体を書く場合、値を返すにはreturnが必要
- thisは呼び出し方で切り替わらず、外側のものを参照する
- mapやfilterのコールバックに便利だが、newでは使えない
アロー関数は、普通の関数を短くしただけ?
短く書けるけれど、動作の違いもあるよ。たとえば「function (x) { return x * 2; }」は、同じ計算をする「x => x * 2」と書ける。mapで配列の各値を2倍にするときなどに便利なんだ。
1行ならreturnを省略できるの?
行数ではなく、本体が単一の式かどうかだよ。「x => x * 2」は式の値を返す。「x => { x * 2; }」はブロックなので、returnがなく値はundefinedになる。値を返すなら「x => { return x * 2; }」と書くんだ。
引数の括弧はいつ省ける?
thisはどう違うの?
argumentsやnewは使える?
まとめ:ざっくりこれだけ覚えればOK!
「アロー関数」って出てきたら「矢印で簡潔に書けて、外側のthisを使うJavaScriptの関数」と思えばだいたいOK!
📖 おまけ:英語の意味
「arrow function」 = 矢印関数
💬 arrowは「矢印」。構文に使う「=>」の形と結び付けると覚えやすいよ。