関数パラメータでスプレッド演算子と構造化代入の両方を使用することに利点があるのはなぜですか?
P粉775723722
P粉775723722 2023-08-16 16:27:57
0
1
464
<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粉775723722
P粉775723722

全員に返信(1)
P粉670107661

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート