#The coding trainの解説
元動画: https://www.youtube.com/watch?v=H4awPsyugS0
function hello () {
}
上は普通のfunction。
高階関数とは2つ以上の関数(function)を使用するということ。それはparameterに入れたり、戻り値としてfunctionを設定したり、いろんなことが出来るんです。
function hello(function) {
return funtion
}
#具体的にみてみよう
- 例えば以下のようにsingという関数がla la la -- という文字数を出すとしましょう
function sing(){
console.log('la la la la la')
}
- la la la laの他にも他の音を一緒に出したい時はどうしましょう?
このような時は、別でmeow meowというfunctionを作って、singの引数として渡してしまえるんです!
function sing(callback){
console.log('la la la la la')
callback();
}
function meow(){
console.log('meow meow')
}
- 以下のようによりシンプルな表現にすることも可能です
sing(function(){
console.log('meow meow');
});
#function を戻り値にする場合
function multiplier (x, factor) {
return x * factor;
}
でも、もしこの計算をしてくれるfunctionを戻り値として出したい場合はどうなるでしょうか?
function multiplier (factor) {
return function(x) {
return x * factor;
}
}
- multiplierに数字を入れて、その結果を変数に入れてみると・・・
let doubler = multiplier(2)といれると、undefined となりますが、
ここで戻ってきているのは関数・・・そう、function(x){return x * 2}ということになる!!
2)その次に,doubler(2) と入力すると、 そう・・・・ 4が結果として表示されます!!