LoginSignup
0
0

More than 3 years have passed since last update.

[高階関数/Higher-order function] 英語の記事・動画まとめ No.1

Posted at

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を戻り値として出したい場合はどうなるでしょうか?

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が結果として表示されます!!

Screen Shot 2020-08-29 at 17.56.22.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0