ES6/7中选择性地分配对象属性
Selectively assign object properties in ES6/7
在ES6/7中是否有一个简短的语法来分配一个对象的一些选择性属性给另一个?例如,我想这样写
const a = {
x: b.x,
y: b.y,
z: b.z
}
有2-3个属性是可以的,但如果有更多属性,它就会变得多余。我怎样才能使它简单?
编辑:这个问题不是关于解构对象的。我知道解构可以完成这项工作,但它并不比我上面给出的例子更短/更方便,所以这里没有提到
我把这个作为答案,因为它确实有效,只是不是个明智的主意。
const b = {x: 1, y: 2, z: 3};
with (b) {
const a = {x, y, z};
}
console.log(a);
严格模式实际上禁止从ECMA5开始使用with
语句,所以如果你这样做,一个运行并遵循严格模式的客户端肯定会讨厌你的代码。
with
语句还有其他缺点,您可以在这里了解更多:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/with
相关文章:
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- JS [ES5] 如何使用资源库和获取器分配对象
- 正在破坏分配.分配对象和它's的孩子在两个不同的变量中
- 我们是否可以安全地从套接字参数的回调中分配对象引用
- 如何在 ng-repeat 中按键分配对象数组
- 在 jQuery/JavaScript 中动态分配对象属性以通过 ajax 发布
- 在Javascript中分配对象:浅拷贝或深度拷贝
- 在JavaScript中分配对象属性会以一种奇怪的方式更改对象
- 自动分配对象数字键
- React:如何分配对象道具的默认属性
- Lodash重新分配对象数组来构建树
- ES6/7中选择性地分配对象属性
- 如何使用“闭包”异步分配对象
- 无法使用sessionStorage分配对象
- 在数组javascript中分配对象
- 当ES6中存在结构相似性时,减少分配对象属性的冗余
- AngularJS:重新分配对象与替换控制器中的对象
- Angular$scope未按预期工作.正在尝试在控制器$scope和$scope.function作用域中分配对象值
- 在js中取消分配对象字面值使用的内存