javascript (アロー関数の試し)

■アロー関数のサンプルを作って使い方を見てみる。
javascriptではイコール(=)と不等号(>)を使った関数(function)の表記の仕方があるとのことなので、少し使い方について見てみる。
サンプルは簡単な計算をしてコンソールに書き込む下のもの(htmlファイル)。関数の定義はaddEventListenerを使った表記にしてみた。

<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <button type="button" id="bt1">Click</button>
</body>
<script>
    bt1.addEventListener("click", function () {

        let a = 3;
        let b = 5;
        console.log("1st:" + (a + b));

        let c = () => {a + b};
        console.log("2nd:" + c);
        console.log("3rd:" + c());

        c = () => {return (a + b)};
        console.log("4th:" + c());

        let arrow_confunc = (a) => { return a * a; };
        console.log("5th:" + arrow_confunc(6));

        function confunc(a) { return a * a; };
        console.log("6th:" + confunc(7));
 
});
</script>
</html>

これをブラウザで表示してClickボタンを押した結果が下のもの。

2番目の c は、変数として扱われ、= 以下の値が入っている。3番目は、関数として扱われているけど、返り値がないためundefinedとなる。returnで定義しなおすと、4番目の通り結果が正しく表示された。5番目、6番目は、引数を用いたサンプル。引数と関数名が = で離れているのは直感的に慣れない感じ。普通にfunctionで定義したものと同じように使用できている。