我最近开始使用 ES6解构赋值语法并开始熟悉这个概念。我想知道是否可以使用相同的语法提取嵌套属性。
例如,假设我有以下代码:
let cagingIt = {
foo: {
bar: 'Nick Cage'
}
};
我知道我能够访问摘录foo
通过执行以下操作将其放入变量中:
// where foo = { bar: "Nick Cage" }
let { foo } = cagingIt;
但是,是否可以提取深度嵌套的属性,例如bar
。也许是这样的:
// where bar = "Nick Cage"
let { foo[bar] } = cagingIt;
我尝试查找有关此事的文档,但无济于事。任何帮助将不胜感激。谢谢你!
有一种方法可以使用此语法来处理嵌套对象和数组。鉴于上述问题,解决方案如下:
let cagingIt = {
foo: {
bar: 'Nick Cage'
}
};
let { foo: {bar: name} } = cagingIt;
console.log(name); // "Nick Cage"
在这个例子中,foo
指的是属性名称“foo”。在冒号之后,我们使用bar
它指的是属性“bar”。最后,name
充当存储值的变量。
至于数组解构,你可以这样处理:
let cagingIt = {
foo: {
bar: 'Nick Cage',
counts: [1, 2, 3]
}
};
let { foo: {counts: [ ct1, ct2, ct3 ]} } = cagingIt;
console.log(ct2); // prints 2
它遵循与对象相同的概念,只是您也可以使用数组解构并存储这些值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)