を割り当て:エクストラ、非構造用に許可されているが、次の有効なコードのようです、ES6で
function test(a1,{a=1,b=2} = {},) {}
ノート機能の引数に余分な,
。この特別な,
は、デストラクタリングの割り当てにのみ受け入れられるため、これがバグかどうかはわかりません。
を割り当て:エクストラ、非構造用に許可されているが、次の有効なコードのようです、ES6で
function test(a1,{a=1,b=2} = {},) {}
ノート機能の引数に余分な,
。この特別な,
は、デストラクタリングの割り当てにのみ受け入れられるため、これがバグかどうかはわかりません。
ES2017では、パラメータリストの末尾のカンマは、非構造化に関係なく有効です。 (特に有効なオプションの1つとしてFormalParameterList[?Yield, ?Await] ,
がリストされ、FormalParametersのための仕様を参照してください。)例えば、これは、クロームの最近の(ISH)バージョンでV8のようなES2017準拠のJavaScriptエンジンに正常に動作します:
function foo(a, b,) {
// ------------^
console.log(a, b);
}
foo(1, 2);
あなたがいるときに構造化代入ではなく、していないときは、そのコンマのエラーを見ている場合、それはあなたが使用しているJavaScriptエンジンは非常に現在の仕様までまだないだけということです(まだ)。
function foo(a, b) {
console.log(a, b,);
// -------------^
}
foo(1, 2);
それはES2017(ES8)追加するため*、ないES6 – mehulmpt