猿问

es6 中 const {attr} = obj 比 const attr = obj.attr

难道只是方便同时多个变量的赋值?

一只甜甜圈
浏览 1239回答 1
1回答

翻过高山走不出你

好处有很多。第一,能少写一次 attr。使得代码量更少,更优雅。第二,减少Cannot read property xxx of undefined 类型的错误const {attr} = obj 可以写成 const {attr} = obj || {}万一你的obj是undefined,如果这样写const attr = obj.attr 就炸了。const {attr} = obj || {}可以给你缓和的余地第三,可以同时定义多个变量const {attr1, attr2, attr3} = obj 等同于const attr1 = obj.attr1const attr2 = obj.attr2const attr3 = obj.attr3第四,可以默认结构值,解构出的undefined值可以被默认值覆盖const {attr1 = '', attr2 = 1, attr3 = true} = obj
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答