[高階関数/Higher-order function] 英語の記事・動画まとめ No.1
The coding trainの解説
元動画: https://www.youtube.com/watch?v=H4awPsyugS0
function hello () {
}
上は普通のfunction。
高階関数とは2つ以上の関数(function)を使用するということ。それはparameterに入れたり、戻り値としてfunctionを設定したり、いろんなことが出来るんです。
function hello(function) {
return funtion
}
具体的にみてみよう
1) 例えば以下のようにsingという関数がla la la -- という文字数を出すとしましょう
function sing(){
console.log('la la la la la')
}
2) 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')
}
3) 以下のようによりシンプルな表現にすることも可能です
sing(function(){
console.log('meow meow');
});
function を戻り値にする場合
function multiplier (x, factor) {
return x * factor;
}
function multiplier (x, factor) {
return x * factor;
}
でも、もしこの計算をしてくれるfunctionを戻り値として出したい場合はどうなるでしょうか?
function multiplier (factor) {
return function(x) {
return x * factor;
}
}
1) multiplierに数字を入れて、その結果を変数に入れてみると・・・
let doubler = multiplier(2)といれると、undefined となりますが、
ここで戻ってきているのは関数・・・そう、function(x){return x * 2}ということになる!!
2)その次に,doubler(2) と入力すると、 そう・・・・ 4が結果として表示されます!!
Author And Source
この問題について([高階関数/Higher-order function] 英語の記事・動画まとめ No.1), 我々は、より多くの情報をここで見つけました https://qiita.com/rika4886/items/9ccc64dcd79e6db4f5ec著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .