JavaScript

アロー関数式「=>」

 編集:2022.09.19 by T.A.

[Edge]。→

従来の 関数式の簡潔な代替構文ですが、制限があり、すべての場面で使用することができるわけではできません。

相違点と制限事項:

構文
([param1[, ]]) =>
([param1[, ]]) => {処理; return }
paramn 省略可。引数。1つの場合は「( )」は不要。

引数が複数の場合はカンマで区切る必要があります。

全ての param を省略した場合は、空の引数ということになります。

値を返す式。
処理 処理文。

¶省く。

コールバックなどで、関数式でやった場合の表現:

function (a){
  return a + 100;
}

アロー関数式に:

a => a + 100;

または、

a => {return a + 100}

コールバックなどでの表現:

var A=10, B20;
(A, B) => A + B;                  //=30
([A, B] = [10, 20]) => A + B;     //=30。→演算子
(({A, B} = {A:10, B:20}) => A + B); //=30

関数的に取り扱うアロー関数式:

Job=(P1) => P1+100;
D=Job(2); //=102

関数でやった場合:

function Job(P1){return P1+100}
D=Job(2); //=102
Array.filter()で使ってみる

配列をフィルターに掛けて要素を抽出する:

D=[10, 20, 30].filter( (ele, ind) => { //第1引数=要素、第2引数=インデックス、(第3引数=Array)。
  alert(ind +':'+ ele);                //表示:処理するインデックス、その要素。
  if(ele > 15)return true; else return false //要素の値が15より大きければtrueで抽出、それ以外はfalseで却下。
});

表示は、

0:10
1:20
2:30

Dの内容は、配列となる。

=[object]:20,30
0=[number]:20
1=[number]:30

テスト