const calc = (num, func) => func(num);
console.log(calc(20, (num) => {
return num * 2;
}));
は関数 calc の func(num) が、
このように置き換わると思いますが、
const calc = (num, func) => {
(num) => { return num * 2;}(20);
}
calc ブロック内で、
(num) => { return num * 2;}(20);
↓
(20) => { return 20 * 2;}(20);
↓
(20) => { return 40;}(20);
このように () 中の 20 が (num) => {rerturn num * 2;} の引数 num に代入された後 num * 2 が実行され、その結果が calc の呼び出し元に返るのか、calc のブロック内の挙動がよく分かりません。
{ return 40;} の後ろに (20) があるので、なんだか違和感を感じてしまいます。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?