难道只是方便同时多个变量的赋值?
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
好处有很多。
第一,能少写一次 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.attr1
const attr2 = obj.attr2
const attr3 = obj.attr3
第四,可以默认结构值,解构出的undefined值可以被默认值覆盖
const {attr1 = '', attr2 = 1, attr3 = true} = obj
添加回答
举报
0/150
提交
取消