Heim  >  Fragen und Antworten  >  Hauptteil

Warum bietet die Verwendung sowohl des Spread-Operators als auch der destrukturierenden Zuweisung in Funktionsparametern Vorteile?

<p>Ich stoße immer wieder auf diese Syntax, aber ich habe Probleme zu verstehen, was genau sie bewirkt: </p> <pre class="brush:php;toolbar:false;">export class SomeClass erweitert SomeParent { Konstruktor(...[Konfiguration]) { // Verweisen Sie nur auf die Codezeile „configuration“. } }</pre> <p>Nachdem ich es in Node REPL ausprobiert hatte, stellte ich fest, dass es keinen Unterschied zwischen den folgenden beiden Schreibweisen gibt: </p> <pre class="brush:php;toolbar:false;">function foo(...[bar]) { console.log(bar(arguments) }</pre> <p>...und...</p> <pre class="brush:php;toolbar:false;">function foo(bar) { console.log(bar) }</pre> <p>...Was macht es also? </p>
P粉775723722P粉775723722431 Tage vor428

Antworte allen(1)Ich werde antworten

  • P粉670107661

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

    看起来确实毫无意义。您需要询问代码的作者他们在这方面的意图,他们至少应该留下一个注释。

    然而,实际上存在微小的差异:剩余参数不计入函数的参数个数。因此,(function(bar){}).length1,而 (function(...[bar]){}).length0

    Antwort
    0
  • StornierenAntwort