es 析构多层解析获取不到中间层对象解决方案
在使用 es 析构赋值时,如果要同时获取到多层嵌套对象,可以采用以下方法:
一种方法是使用一行解构,如下所示:
const { person, person: { name, age } } = obj;
使用此方法,可以同时解构出 person 对象和其中的 name 和 age 属性。
另一种方法是在使用解构赋值时,先设置默认值,防止中间层对象不存在导致报错,如下所示:
const {person = {}, person: {name = '', age} = {}} = obj;
使用此方法,如果 person 对象不存在,则将 person 解构为一个空对象;如果 person 对象中不存在 name 或 age 属性,则将 name 和 age 解构为一个空字符串和 undefined。