You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ES6中如何为解构得到的未定义对象设置默认值?

解决ES6解构未定义对象时的赋值报错问题

当你从requestObj1解构var1但原对象没有这个属性时,直接给var1赋值属性会报错——核心原因是var1为undefined,无法给它添加属性。解决办法就是在解构时给var1设置默认的空对象,具体操作如下:

直接在解构阶段设置默认值

把原来的解构代码:

const { var1 } = requestObj1;

改成:

const { var1 = {} } = requestObj1;

这样即使requestObj1里没有var1属性,解构出来的var1也会是一个空对象,后续执行var1.anotherVariable = reqObj2?.anotherObj?.value时就不会再触发“无法读取undefined的属性”的错误。

额外优化:处理右侧赋值的undefined情况

如果reqObj2?.anotherObj?.value可能返回undefined,你还可以配合空值合并运算符??给anotherVariable设置默认值,避免它变成undefined:

var1.anotherVariable = reqObj2?.anotherObj?.value ?? '默认值';

内容的提问来源于stack exchange,提问作者Soujanya Jscodebit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:42:32