Array.prototype.slice.call: 引数操作の秘密を解き明かす
Array.prototype.slice.call メソッドは強力なメソッドです引数を適切な配列に変換できるツールです。しかし、バックグラウンドでどのように機能するのでしょうか?
メソッドの呼び出しと "this" キーワード
オブジェクトのメソッドを呼び出すと、オブジェクト自体が値になります。メソッド内の this キーワードの。たとえば、次の行では:
[1,2,3].slice()
[1,2,3] 配列は、スライス メソッドの this の値になります。
Arguments as an "Array" -Like Object"
関数の引数を表すarguments オブジェクトには、配列のようなプロパティがいくつかあります。
Array.prototype.slice.call の魔法
Array.prototype.slice.call メソッドを使用すると、関数の this 値を手動で設定できます。これを引数オブジェクトに設定することで、基本的にスライス メソッドを騙して配列を操作していると思わせます。
これは、スライス メソッドがこれが配列であるという前提で動作するためです。これに数値の .length プロパティと一連の数値インデックス プロパティがある限り、スライスはそれを配列として処理します。
例: 引数を配列に変換する
次のコードを考えてみましょう:
var myArguments = (1, 2, 3, 4, 5); var myArray = Array.prototype.slice.call(myArguments); console.log(myArray);
出力:
[1, 2, 3, 4, 5]
この例では、slice メソッドは myArguments 引数オブジェクトを適切な配列に変換し、それがログに記録されます。 console.
結論
this キーワードの役割、配列のようなオブジェクト、スライス メソッドの前提を理解することで、Array.prototype の力を活用できます。 .slice.call を使用して引数を操作し、再利用可能な配列処理コードを作成します。
以上がArray.prototype.slice.call は引数を配列にどのように操作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。