0

オブジェクトの選択的なプロパティを別のオブジェクトに割り当てるための短い構文が ES6/7 にありますか? たとえば、私はこれをやりたい

const a = {
  x: b.x,
  y: b.y,
  z: b.z
}

2 ~ 3 個のプロパティで問題ありませんが、それ以上のプロパティでは冗長になります。どうすれば簡単にできますか?

編集:この質問は、オブジェクトの破壊に関するものではありません。破壊が仕事をすることができることは知っていますが、上記の例よりも実際に短く/便利ではないため、ここで言及することではありません

4

1 に答える 1

1

これは機能するため、回答として投稿しましたが、使用するのは賢明ではありません。

const b = {x: 1, y: 2, z: 3};

with (b) {
    const a = {x, y, z};
}

console.log(a);

Strict モードはwith、ECMA5 以降のステートメントの使用を実際に禁止しているため、Strict モードを実行しているクライアントは、これを行うと間違いなくあなたのコードを嫌うでしょう。

このwithステートメントには他にも欠点があります。詳細については、https ://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/with を参照してください。

于 2015-09-07T15:04:01.520 に答える