この構文に頻繁に遭遇しますが、正確に何をしているのか理解するのに苦労しています:
export class SomeClass extends SomeParent { コンストラクター(...[構成]) { // コードの「configuration」行のみを参照します } }
Node REPL で試してみたところ、次の 2 つの書き方に違いはないことがわかりました。
function foo(...[bar]) { console.log(bar); console.log(arguments) }
...そして...
function foo(bar) { console.log(bar); console.log(arguments) }
...それで、何をするのですか?
それは無意味に思えます。この点に関してコードの作成者に意図を尋ねる必要があり、少なくともコメントを残す必要があります。
ただし、実際にはわずかな違いがあります。残りのパラメータは関数のパラメータ数にカウントされません。したがって、
(function(bar){}).length
は1
、(function(...[bar]){}).length
は0
。