ホームページ  >  に質問  >  本文

関数パラメータでスプレッド演算子と構造化代入の両方を使用することに利点があるのはなぜですか?

<p>この構文に頻繁に遭遇しますが、正確に何をしているのか理解するのに苦労しています: </p> <pre class="brush:php;toolbar:false;">export class SomeClass extends SomeParent { コンストラクター(...[構成]) { // コードの「configuration」行のみを参照します } }</pre> <p>Node REPL で試してみたところ、次の 2 つの書き方に違いはないことがわかりました。 <pre class="brush:php;toolbar:false;">function foo(...[bar]) { console.log(bar); console.log(arguments) }</pre> <p>...そして...</p> <pre class="brush:php;toolbar:false;">function foo(bar) { console.log(bar); console.log(arguments) }</pre> <p>...それで、何をするのですか? </p>
P粉775723722P粉775723722431日前431

全員に返信(1)返信します

  • P粉670107661

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

    それは無意味に思えます。この点に関してコードの作成者に意図を尋ねる必要があり、少なくともコメントを残す必要があります。

    ただし、実際にはわずかな違いがあります。残りのパラメータは関数のパラメータ数にカウントされません。したがって、(function(bar){}).length1(function(...[bar]){}).length0

    返事
    0
  • キャンセル返事