拡張オブジェクトの構造化
ES6 では、構造化は配列またはオブジェクトの値を個別の変数に解凍できる構文です。分割は非常に便利ですが、既存のオブジェクトに値を割り当てる場合は制限される可能性があります。
次のシナリオを考えてみましょう。
var foo = { x: "bar", y: "baz" }
var oof = {}
構造化を使用して x および y プロパティを foo から oof に変更します。単純な試みは次のようになります:
oof{x,y} = foo
しかし、これは機能しません。では、構造化を使用して既存のオブジェクトのプロパティを変更するにはどうすればよいでしょうか?
考えられる解決策
最も洗練されたアプローチではありませんが、構造化と代入を組み合わせて使用することができます。望ましい結果を達成します:
({x: oof.x, y: oof.y} = foo);
これは foo から x プロパティと y プロパティを読み取り、それらを oof の対応するプロパティに割り当てます。
代替アプローチ
オブジェクトのプロパティを更新する別のアプローチには次のものがあります。
oof.x = foo.x; oof.y = foo.y;
または
['x', 'y'].forEach(prop => oof[prop] = foo[prop]);
これらのアプローチは、好みに応じて、より明示的で読みやすい場合があります。
以上がES6 で構造解除を使用して既存のオブジェクトのプロパティを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。