Code A, c'est OK et les journaux [ 1, 2, 3 ]
Pourquoi les arguments var a = ... échouent-ils, si console.log (... arguments) est OK?
function fn() {
console.log(...arguments);
}
fn([1, 2, 3]);
Code B, cela ne fonctionne pas avec SyntaxError: Unexpected token ...
En outre, l'emballage ...arguments
dans ()
ne va pas aider non plus.
function fn() {
var a = ...arguments;
}
fn([1, 2, 3]);
Dans les deux cas, je suppose, nous avons une RHS
recherche. Pourquoi est-il correct de transmettre ...arguments
à console.log
(ou une autre fonction), mais de ne pas l'attribuer à une variable?
PS. Je sais que cela ne résiderait jamais dans le vrai code de la vie ou qu'il y a d'autres meilleures solutions à cela. Ma question est purement théorique/conceptuelle et se limite à comprendre pourquoi le comportement différent se produit.
tu ne peux pas affecter à 'a' sans' ... '? 'var a = arguments [0]; // Votre tableau'. – Arg0n
@ Arg0n Bien sûr, comme je l'ai noté, ce n'est pas un problème réel dans les logiciels réels. J'ai été étonné de voir pourquoi '' '... arguments''' est passé à' '' console.log''' en tant que tableau (sans avoir besoin d'envelopper dans '' '[]' '' '), quand le l'affectation nécessite explicitement '' '' [] '' 'pour que cela fonctionne. –