ES6 で構造解除を使用して既存のオブジェクトのプロパティを変更するにはどうすればよいですか?

DDD
リリース: 2024-10-30 21:53:02
オリジナル
638 人が閲覧しました

How Can You Modify Existing Object Properties Using Destructuring in ES6?

拡張オブジェクトの構造化

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート