「JavaScript の決定版ガイド」 には、Array.prototype.map:
Array.prototype.map
なぜ f(a[i], i, a) を直接使用する代わりに call(null) を使用するのでしょうか?このように、これは世界情勢を示しています
f(a[i], i, a)
call(null)
认证高级PHP讲师
ここで実装されたマップはこの形式、つまり 2 つのパラメーターでのみ呼び出すことができることがわかります。 MDN で提供される関数プロトタイプをもう一度見てみましょう。
const new_array = arr.map(callback[, thisArg])
thisArg パラメーターが省略されている場合、または値がassign null または未定義の場合、これはグローバル オブジェクトを指します。 さらに、関数オブジェクト呼び出しメソッドを使用する場合、
この関数が非厳密モードの場合、null および未定義として指定された this 値は自動的にグローバル オブジェクト (ブラウザーのウィンドウ オブジェクト) を指し、this の値は元の値 (数値、文字列、ブール値) 元の値を指す自動ラッパー オブジェクト。
/q/10...
ここで実装されたマップはこの形式、つまり 2 つのパラメーターでのみ呼び出すことができることがわかります。
callback は f と呼ばれるものなので、最後の this はオプションであり、本で提供される関数はこの値をまったく考慮しません。この値が渡されない場合、MDN で提供される関数プロトタイプをもう一度見てみましょう。
thisArg パラメーターが省略されている場合、または値がassign null または未定義の場合、これはグローバル オブジェクトを指します。 さらに、関数オブジェクト呼び出しメソッドを使用する場合、
一言で言えば、マップ関数のプロパティを完全にシミュレートするため〜/q/10...