▲TOPへ戻る

アロー関数(Arrow)の使い方と注意点‼

arrow

関数の書き方各種

関数といっても色々と書き方があります。今回は3番目のアロー(Arrow)関数について解説します。

  function name(引数){ }
  const name = function(引数) { }
  const name = (引数) => { }

IEには対応していませんので注意‼

arrow ie

アロー関数の書き方

適正体重 = (身長m)2 * 22

  const properWeight = function(tall){
    return (tall**2) * 22;
  }

  const properWeight = (tall) => {
    return (tall**2) * 22;
  }

  console.log(properWeight(1.76));
  // 結果 : 68.1472  (身長1.76mの適正体重)

上の2つを比べると、functionを取って、()の後ろに、 => を付けるだけかと思いますが、アロー関数はさらに省略できます。

引数が1つで、処理が一行 であれば、以下のように(), return, {}が省略できます。

  const properWeight = tall => (tall**2) * 22;

引数が2つ以上の場合

BMI = 体重kg ÷ (身長m)2

のように、引数が2つ以上の場合、()は 省略できません。

  const bmi = (weight, tall) => weight / tall**2;
            
  console.log(bmi(66, 1.76));
  // 結果 : 21.306818181818183  (体重66㎏、身長1.76mのBMI)

引数がない場合

引数がない場合は、()を書きます。

  const properWeight = () => 66 / (1.76**2);

アロー関数内の"this"

addEventListenerの時、functionアロー関数 では、thisで取得されるものが違うので、注意が必要です。

function

  document.getElementById("btn1").addEventListener("click", function(){
    console.log(this);
  });

取得されるもの ⇒

アロー関数

  document.getElementById("btn2").addEventListener("click", () => {
    console.log(this);
  });

取得されるもの ⇒

まとめ

  1. アロー関数 : const name = (引数) => { }
  2. 引数が1つで、処理が一行の時 : const 変数 = 引数 => 処理;
  3. 引数がない時 : const 変数 = () => { 処理 };
  4. "this" を使うときは注意‼

こんな記事も読まれています。

profile

パソコン好きなガオ

コロナ禍によるステイホームを機にプログラミングを学ぶ。パソコンに関してはプロではないが、ちょっと詳しい程度。

パソコン

javascript

カメラ

ブログ