NACの勉強の経過を綴るところ

個人的なコードの勉強

【JS】アロー関数

JS逆引きレシピ本、118(P191)。


アロー関数についても、なんとなく避けて通ってきた。ここで整理しておきたい。
っていうか、「アロー関数」という名前だったことを初めて知った。


次の関数は、縦横サイズを引数として渡すと面積を返してくれるものである。

function getSquareArea(width, height) {
    return width * height
};


これを、アロー関数を使って書くと、こうなる。

let getSquareArea = (width, height) => {
    return width * height;
};

これだけだと、わざわざ書き換える理由がよくわからないが、上記構文ならもっとシンプルに書ける。

let getSquareArea = (width, height) => width * height;

この書き方は知らなかったが、これは、かなりシンプル。
関数の中身が一文の場合に限られるが、ここまで省略して書ければ、可読性も高まる気がする。


また、上記は四角形の面積を求める関数だったが、これが以下のような円の面積を求めるものだった場合、

let getCircleArea = (radius) => {
    return radius * radius * Math.PI;
};

以下のように書き換えることができる。

let getCircleArea = radius => radius * radius * Math.PI;

要は、引数が一個しかない場合、引数の()を省略できる。


ただ……個人的には、どうかなぁ。
ここまで省略しちゃうと、イコールで三項を結んでいるような書き方に見えてしまうので、二項目が引数だと、読んでもぱっと理解できない。
可読性を高めるためにシンプルに書こうとして、逆に可読性を損ねている気がする。