Maison  >  Questions et réponses  >  le corps du texte

Pourquoi y a-t-il des avantages à utiliser à la fois l’opérateur de propagation et l’affectation de déstructuration dans les paramètres de fonction ?

<p>Je rencontre toujours cette syntaxe, mais j'ai du mal à comprendre ce qu'elle fait exactement : </p> <pre class="brush:php;toolbar:false;">export class SomeClass extends SomeParent { constructeur(...[configuration]) { // Référence uniquement à la ligne de code "configuration" } }</pré> <p>Après l'avoir essayé dans Node REPL, j'ai constaté qu'il n'y avait aucune différence entre les deux façons d'écrire suivantes : </p> <pre class="brush:php;toolbar:false;">function foo(...[bar]) { console.log(bar); console.log(arguments) }</pre> <p>...et...</p> <pre class="brush:php;toolbar:false;">function foo(bar) { console.log(bar); console.log(arguments) }</pre> <p>...Alors, qu'est-ce que ça fait ? </p>
P粉775723722P粉775723722431 Il y a quelques jours432

répondre à tous(1)je répondrai

  • P粉670107661

    P粉6701076612023-08-17 10:52:42

    Cela semble inutile. Vous devez demander à l'auteur du code quelles sont ses intentions à cet égard, et il devrait au moins laisser un commentaire.

    Cependant, il y a en fait une légère différence : les paramètres restants ne comptent pas dans le nombre de paramètres de la fonction. Par conséquent, (function(bar){}).length1,而 (function(...[bar]){}).length0.

    répondre
    0
  • Annulerrépondre