以下はMDNドキュメントでapplyについて書いてる文章です。
non-strict mode 内の関数であれば、ここで渡した値が null もしくは undefined であった場合は
グローバル・オブジェクトに置き換えられ、プリミティブ型の変数はボックス化されます。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/apply
この文言についていくつか質問させてください。
質問1.
null もしくは undefined であった場合はグローバル・オブジェクトに置き換えられ
ここでいってる「グローバル・オブジェクト」はWindowのことでよろしいでしょうか?
thisの参照先を変更するためにcallを使うと思いますが、
obj.hoge.call(null,[1,2]);
だとobj.hoge([1,2]);
と同じ動作かとお見ますが、認識合ってますか?
質問2.
プリミティブ型の変数はボックス化され
プリミティブ型の変数(数値・文字列・論理値・null・undefined)を入れるとブックス化
されるらしいですが、
ボックス化ってなんでしょうか?
{}
これのことでしょうか?
以上、よろしくおねがいします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。