JavaScript解构赋值:如何为中间变量form设置默认值{}?
JavaScript解构赋值中为中间变量设置默认值的方法
你原来的写法存在语法错误,JavaScript的解构语法不支持{ (form = {}): data = {} }这种格式。要给嵌套解构中的form设置默认值,可以通过先为外层属性设置默认,再对该属性进行内部解构的方式实现:
// 合并解构写法 const { form = {}, form: { data = {} } = {} } = {}; // 拆分解构写法(可读性更高) const { form = {} } = {}; const { data = {} } = form;
说明
form = {}确保当原对象没有form属性时,form会被初始化为空对象;- 嵌套解构部分
form: { data = {} } = {},既完成了从form中解构data的操作,也给data设置了默认值;末尾的= {}是为了避免form意外为undefined时解构报错(不过前面已经给form设了默认值,这里可省略,保留则更严谨); - 拆分写法逻辑和合并写法完全一致,只是把嵌套解构拆分为两步,更便于理解。
测试上述代码,当原对象为空时,form会被赋值为{},data也会被赋值为{},完全符合你的需求。
内容的提问来源于stack exchange,提问作者Alexander Nenashev
相关产品推荐
相关产品推荐

