関数の処理順序と仮引数の置き換えイメージを考えたので確認していただきたいです

書いていただいたお考えでおおよそあっています。
2023年11月23日
ユーザー

動画内で使われていたソースコードの動作と各値の動きについて以下のようなイメージなのですが問題ないでしょうか?

元コード

{
  const double = (num) => {
    return num * 2;
  };

  const calc = (num, func) => {
    return func(num);
  };

  console.log(calc(20, double));
}

処理・動作順序

  1. アローで関数 doublecalc を定義
  2. calc(20, double) でcalc関数を呼出し、実引数を渡す
  3. 実引数はそれぞれ 20→numdouble→func に入る
  4. func(num); は実質 double(20) となり処理される(今回の場合)console.log 経由で double を呼出
  5. calc・double の処理が完了して結果が出力される

置き換えコード

{
  const double = (20) => {
    return 20 * 2;
  };

  const calc = (20, double) => {
    return double(20);
  };

  console.log(calc(20, double));
}

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(6)