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粉775723722
P粉775723722 2023-08-16 16:27:57
0
1
465
<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粉775723722
P粉775723722

répondre à tous(1)
P粉670107661

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal