Array.prototype.slice.call : découvrir les secrets de la manipulation des arguments
La méthode Array.prototype.slice.call est un outil puissant outil qui nous permet de convertir les arguments en un tableau approprié. Mais comment ça marche en coulisses ?
Invocation de méthode et mot-clé "this"
Lorsque nous appelons une méthode sur un objet, l'objet lui-même devient la valeur du mot clé this dans la méthode. Par exemple, dans la ligne suivante :
[1,2,3].slice()
Le tableau [1,2,3] devient la valeur de this dans la méthode slice.
Arguments en tant que "Array -Like Object"
L'objet arguments, qui représente les arguments de la fonction, possède plusieurs propriétés de type tableau :
La magie d'Array.prototype.slice.call
La méthode Array.prototype.slice.call nous permet de définir manuellement la valeur this d'une fonction. En définissant ceci sur l'objet arguments, nous faisons essentiellement croire à la méthode slice qu'elle travaille sur un tableau.
En effet, la méthode slice fonctionne en supposant qu'il s'agit d'un tableau. Tant qu'il a une propriété numérique .length et un ensemble de propriétés d'index numérique, slice le traitera volontiers comme un tableau.
Exemple : Conversion d'arguments en tableau
Considérez le code suivant :
var myArguments = (1, 2, 3, 4, 5); var myArray = Array.prototype.slice.call(myArguments); console.log(myArray);
Sortie :
[1, 2, 3, 4, 5]
Dans cet exemple, la méthode slice convertit l'objet d'arguments myArguments en un tableau approprié, qui est ensuite enregistré dans le console.
Conclusion
En comprenant le rôle du mot-clé this, des objets de type tableau et des hypothèses de la méthode slice, nous pouvons exploiter la puissance d'Array.prototype .slice.call pour manipuler les arguments et créer un code de gestion de tableau réutilisable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!