在ES6中对象解构的示例分析
这篇文章主要为大家展示了“在ES6中对象解构的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在ES6中对象解构的示例分析”这篇文章吧。
对象解构
1 删除不需要的属性
有时候你不希望保留某些对象属性,也许是因为它们包含敏感信息或仅仅是太大了(just too big)。你可能会枚举整个对象然后删除它们,但实际上只需要简单的将这些无用属性赋值给变量,然后把想要保留的有用部分作为剩余参数就可以了。
下面的代码里,我们希望删除_internal和tooBig参数。我们可以把它们赋值给internal和tooBig变量,然后在cleanObject中存储剩下的属性以备后用。
let{_internal,tooBig,...cleanObject}={el1:'1',_internal:"secret",tooBig:{},el2:'2',el3:'3'};console.log(cleanObject);//{el1:'1',el2:'2',el3:'3'}
2 在函数参数中解构嵌套对象
在下面的代码中,engine是对象car中嵌套的一个对象。如果我们对engine的vin属性感兴趣,使用解构赋值可以很轻松地得到它。
varcar={model:'bmw2018',engine:{v6:true,turbo:true,vin:12345}}constmodelAndVIN=({model,engine:{vin}})=>{console.log(`model:${model}vin:${vin}`);}modelAndVIN(car);//=>model:bmw2018vin:12345
3 合并对象
ES6带来了扩展运算符(...)。它一般被用来解构数组,但你也可以用它处理对象。
接下来,我们使用扩展运算符来展开一个新的对象,第二个对象中的属性值会改写第一个对象的属性值。比如object2的b和c就会改写object1的同名属性。
letobject1={a:1,b:2,c:3}letobject2={b:30,c:40,d:50}letmerged={…object1,…object2}//spreadandre-addintomergedconsole.log(merged)//{a:1,b:30,c:40,d:50}
以上是“在ES6中对象解构的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!