💬
ラムダ関数(無名関数, 匿名関数)
【ラムダ関数の特徴】
- 他の関数に入出力として渡すことができる関数
- 名前がない
- その場で作成される関数
【通常の関数】
test.js
function triangleArea(width, height) {
return width * height / 2;
}
console.log(triangleArea(3,5));
// 7.5
【ラムダ関数】
パターン1:関数名をなくす
test.js
let triangleAreaLambda1 = function (width, height) {return width * height / 2;};
console.log(triangleAreaLambda1(3,5));
// 7.5
パターン2:アロー関数式 ブロック文体 (block body)
- "function" という語を削除し、代わりに引数と本体の開始中括弧の間に矢印を配置
test.js
let triangleAreaLambda2 = (width, height) => {return width * height / 2;};
console.log(triangleAreaLambda2(3,5));
// 7.5
パターン3:アロー関数式 簡潔文体 (concise body)
- 関数の処理内容が式1つの場合、{}とreturnを省略可
- ただしその場合は両方とも省略すること
test.js
let triangleAreaLambda3 = (width, height) => width * height / 2;
console.log(triangleAreaLambda3(3,5));
// 7.5
パターン4:引数が一つの場合は()を省略可
test.js
a => a + 100;
【参考】
Discussion