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);

严格模式实际上禁止使用with自 ECMA5 以来的语句,因此如果您这样做,运行并遵守严格模式的客户端肯定会讨厌您的代码。

with声明还有其他缺点,您可以在此处阅读有关这些缺点的更多信息:https ://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/with

于 2015-09-07T15:04:01.520 回答