Step 1: Web Basics

アロー関数 =>
慣れるまでの道のり

他の方のモダンなJSコードを見ていると、至る所に出てくる「謎の矢印」。アロー関数という書き方に最初は戸惑いましたが、今では手放せなくなった話です。

function って書かないの?

関数といえば function() {} だと覚えていたのですが、最近のJavaScriptでは () => {} という書き方(アロー関数)が頻繁に使われます。

最初は「暗号みたいで読みにくいな…」と思っていました。

// 昔の書き方
btn.onclick = function(event) {
    console.log("クリックされました");
};

// 今の書き方(アロー関数)
btn.onclick = (event) => {
    console.log("クリックされました");
};

短く書けるだけじゃなかった

勉強していくうちに、アロー関数はただの「functionの省略形」ではないことが分かりました。一番の違いは this というキーワードの扱いです。

昔の関数は、呼ばれた場所によって this の中身(自分自身が誰なのか)がコロコロ変わってしまい、バグの温床になっていたそうです。アロー関数は this を固定化してくれるため、直感的にコードが書けるようになります。

今ではすっかり矢印の虜に

「猫の手貸し」のコードでも、イベント(クリックされた時など)の処理にはすべてアロー関数を使っています。コードの見通しが良くなり、タイピング量も減るので、最初は抵抗があった記号も、今では「こっちの方が絶対いい!」と思えるようになりました。