Vous cherchez plus de détails sur ce qui se passe exactement quand suivant est exécuté:Comment l'objet 'arguments de JS est converti en tableau
function useArray(){
var args = [].slice.call(arguments)
console.log(args)
}
Comment se fait slice
étant fonction avec 3 paramètres (tableau source, début et fin positions à copier) menaces arguments
correctement? La méthode call
a besoin de la valeur correcte du premier argument comme this
mais il semble que arguments
est transformé en objet Array?
Et pourquoi cela ne fonctionne pas:
var args = [].slice(arguments)
Merci beaucoup pour les explications détaillées. Il est maintenant clair pourquoi '[] .slice (arguments)' retourne un tableau vide. Encore une chose à vérifier. Ai-je raison de dire que [] .slice.call (arguments) 'passe l'objet' arguments' en tant que receveur de l'appel, cette méthode 'call()' de l'objet fonction est supposée avoir comme premier argument? –
Si je lis bien, oui. C'est comme si "slice" était temporairement un membre de 'arguments' -' arguments' serait 'this' dans cet appel' slice'. –