私は、関数の引数を構造化代入をサポートしていますノードv6.6.0、実行しています:機能パラメーターオブジェクトの非構造結果
function foo ({ a: { b }}) {
// stuff
}
を私はをdestructureとa
とb
の両方にアクセスするとします。悲しいことに、次のはが動作していないよう:
function foo ({ a: { b }}) {
return [a, b]
}
foo({ a: { b: 123 }})
// ReferenceError: a is not defined!
は、ノードでこのバグですか、これはES6のために予想される動作ですか?関数内にa
とb
の両方を定義してはいけませんか?そうでない場合、基本構造のプロパティ名(a
)の定義を解除すると、構造が破壊されるのはなぜですか?
私は用パラメータの非構造が関数で定義された両方のa
とb
を取得することができます方法はありますか?私は明示的に手動でそれらを破壊するのを避けるために明示的に試みています
'A'は単にパラメータ 'B'の性質から取られるべきであるものを指します。定義されていないか、パラメータとしてアクセスできません。 'a'にアクセスしたい場合は、関数内で' b'を自分自身で抽出する必要があります。 –