前提・実現したいこと
apply関数に関して、4点、質問があります。
1点目。
apply関数とcall関数で、共に第1引数だけしか指定しない場合、thisの置き換えしか行わないから、挙動は全く同じという認識で合っていますか?
2点目と3点目。
Math.max.apply(null, array)
というコードをよく見かけるので、下記のように試してみました。
const array = [1,2,6,3,10,2,5]; console.log(Math.max.apply(null, array)); //10
2点目。
第1引数にnullを渡しているのは、Math.max関数の中でthisを使う処理が無いからという解釈で合っていますか?
3点目。
applyによって第2引数の配列のarrayがMath.maxの引数に渡るとき、
[1,2,6,3,10,2,5]が(1,2,6,3,10,2,5)という引数に変換されて渡っているという認識で合っていますか?
4点目。
call関数でMath.maxを使う書き方を見たことないのですが、
もし書くとしたら、下記のようになると思いますが、
call関数使ってMath.max使うぐらいなら、普通にMath.max関数使った方がコードが短くなるから、
call関数でMath.maxを使う書き方はしないという認識で合っていますか?
console.log(Math.max.call(null, 1,2,6,3,10,2,5)); //10 console.log(Math.max(1,2,6,3,10,2,5)); //10
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/28 01:43