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)
があるので、なんだか違和感を感じてしまいます。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?