JavaScript - アロー関数(ラムダ式)

公開日:2018-11-29 更新日:2019-05-13

1. 概要

アロー関数(ラムダ式)の使い方です。
アロー関数は、無名関数(匿名関数)を省略して記述できる方法です。

関数を別の関数の引数として渡す場合によく使用されます。

var func = (引数1, 引数2, ... , 引数n) => {
	処理;
	処理;
	return 戻り値;
}

//関数の実行
var result = func(1, 2, 3, ... n);

//引数が 1 つの場合
var func = 引数1 => 数式;

//引数がない場合
var func = () => {
	処理;
}

2. アロー関数(ラムダ式)

var add = (value1, value2) => {
	return value1 + value2;
}
console.log( add(3, 4) ); //7

//関数を数式1行で表せる場合は、return を省略できます
var add2 = (value1, value2) => value1 + value2;
console.log( add2(3, 4) ); //7

var func = () => {
	console.log( "処理" );
}
func();

3. map

配列の各要素の値を倍にした新しい配列を生成します。
ラムダ式を変更することにより、様々な加工をすることができます。

var list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var list2 = list.map( x => x * 2 );

console.log(list);  //[object Array]: [1, 2, 3, 4,  5,  6,  7,  8,  9, 10]
console.log(list2); //[object Array]: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

4. filter

配列の各要素の値の中から、2で割り切れる要素を抽出した新しい配列を生成します。

var list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var list2 = list.filter( x => x % 2 == 0 );

console.log(list);  //[object Array]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(list2); //[object Array]: [   2,    4,    6,    8,    10]

5. forEach

配列の各要素の値を引数にして、関数を実行します。
map でも行えますが、map は裏で配列を生成しているため、
配列が不要な場合は forEach() を使った方が良いかもしれません。

var list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
list.forEach(x => {
	console.log(x);
});