高階関数
関数を「 引数または戻り値 」として扱う関数のことを高階関数といいます。
引数として渡される関数のことをコールバック関数といい、別の関数を引数として受け取る関数を高階関数といいます。
let fruits = [
{ apple : 100 },
{ orange : 80 },
{ banana : 50}
];
function getDate(fruits, txtFormat){
fruits.forEach(function(value){
txtFormat(Object.keys(value), value[Object.keys(value)]);
})
};
function txtFormat(name, price){
console.log(name + ":" + price);
};
getDate(fruits, txtFormat);
コールバック関数
コールバック関数とは、ほかの関数に引数として渡す関数のことです。
以下の場合、関数 Hello がコールバック関数です。
function Hello(){
console.log("Hello, World");
};
setTimeout(Hello, 3000);
再帰関数
再帰関数とは、呼び出した関数自体が自分を関数内で再度呼び出す関数の事です。
function count(num){
if(num > 5){
return;
};
console.log(num);
return count(++num);
};
count(1);
「 5の階乗 」を再起関数を使って計算するには、以下のようにします。
「 5の階乗 」 とは、1から5までの整数をすべてかけた数です。
function factorial(n) {
if( n <= 1){
return 1;
}
return n * factorial(n - 1)
}
// 5 の階乗
console.log(factorial(5)); // 120