解构任务。将对象及其子项分配给两个不同的变量

时间:2016-03-24 08:26:32

标签: javascript ecmascript-6

有一个嵌套对象:

var a = {
  b: {
   c: 'some value'
  }
}

有没有办法使破坏性赋值只用一个语句来跟踪两个变量?

var c = 'some value';
var b = {c : {'some value'}}

2 个答案:

答案 0 :(得分:4)

分别对这两个部分进行解构。

var { b, b: { c } } = a;

使用Babel编译以下代码。

var _a = a;
var b = _a.b;
var c = _a.b.c;

答案 1 :(得分:2)

尝试

var a = {
  b: {
   c: 'some value'
  }
}

var [c, b] = [a.b.c, a.b]

console.log(c, b)