【JavaScript】無名関数 - 名前のない関数

【JavaScript】無名関数 - 名前のない関数

JavaScriptの無名関数をご紹介します。

無名関数

無名関数は名前の通り、名前のない関数です。
変数に代入したり、引数値として関数に与えることができます。

基本構文

無名関数は関数と同様に定義と呼び出しがあります。

定義

function( 引数変数 ) {
    // 処理........
}

基本的には通常の関数と同じですが、関数名を定義しません。
また、無名関数は代入や引数値に使い、変数に記憶します。

代入

変数 = function( 引数変数 ) {
    // 処理........
}

引数値

関数名(function( 引数変数 ) {
    // 処理........
});

呼び出し

変数(引数値)

通常の関数と同じように、無名関数を記憶する変数に丸括弧(())を続けて記述します。

サンプル

変数代入

let addition = function( x, y ) {
    let total = x + y;
    return total;
};

let z = addition(3, 7);

console.log(z);
10

無名関数を変数additionに記憶し、変数から無名関数を呼び出しています。

引数値

無名関数を引数に使うことができます。

function calc( x, y , calctype ) {
    return calctype(x, y);
}

let result1 = calc(5, 8, function( a, b ) {
    return a + b;
});

console.log(result1);

let result2 = calc(5, 8, function( a, b ) {
    return a - b;
});

console.log(result2);
13
-3

関数calcは第1引数と第2引数に値、第3引数に無名関数を引数とします。
2つの値に対して与えられた無名関数の処理を施し戻り値として返します。

5行目の関数calcの呼び出しは、第3引数に『2つの値の合計値を返す無名関数』を引数値として与えています。
58の合計値である13が結果として得られたことがコンソールから分かります。

11行目の関数calcの呼び出しは、第3引数に『2つの値の差を返す無名関数』を引数値として与えています。
58の差である-3が結果として得られたことがコンソールから分かります。