如何以更简洁的方式(单行写法)从嵌套对象中为变量赋值?
更简洁的实现方式:对象解构赋值
你可以利用ES6的对象解构特性,一次性从嵌套对象中提取所需变量,大幅简化代码:
const { val1, val3, val4, val5, test: { val2 } } = result.data.data.table;
这一行代码就能完成所有变量的赋值,和你原来的代码效果完全一致。
补充说明
- 直接从
result.data.data.table中解构出val1、val3、val4、val5 - 通过
test: { val2 }的写法,深入解构test子对象里的val2变量 - 如果担心嵌套层级中某个对象可能为
undefined导致报错,可以添加默认值做容错处理:
这种写法能避免因中间对象不存在而抛出的const { val1 = '', val3 = '', test: { val2 = '' } = {} } = result.data.data.table || {};Cannot destructure property 'xxx' of 'undefined' or 'null'错误
内容的提问来源于stack exchange,提问作者nb_nb_nb
相关产品推荐
相关产品推荐

