变量访问路径返回undefined时,如何给该变量赋值默认值0?
问题原因
你的代码存在两个核心错误导致无法运行:
- 语法错误:变量声明语句与if判断语句直接连写,缺少分隔符,JS引擎无法正常解析两条独立语句,会直接抛出语法异常
- 常量赋值错误:使用
const声明的变量为只读常量,初始化完成后不允许重新赋值,后续执行balance = 0的操作会抛出类型错误
解决方案
方案1:调整声明方式+原有判断逻辑
将变量改为用let声明,拆分语句即可:
let balance = wallet.balance; if (balance === undefined || balance === null) { console.log("Balance is null or undefined"); balance = 0; }
方案2:使用空值合并运算符简化代码
JS原生的??空值合并运算符,仅当左侧值为undefined或null时才返回右侧值,完全匹配你的需求,一行即可实现:
// 不需要日志的最简写法 const balance = wallet.balance ?? 0;
如果需要保留日志输出,可以结合立即执行函数实现:
const balance = wallet.balance ?? (() => { console.log("Balance is null or undefined"); return 0; })();
内容的提问来源于stack exchange,提问作者kyle walker
相关产品推荐
相关产品推荐

