如何从if else代码块中获取变量值?
解决块级作用域下变量外部访问问题
你的代码里,test用const在if的代码块内声明,受JavaScript块级作用域限制,外部的console.log(test)会提示变量未定义。下面是几种可行的解决方法:
方法一:块外声明变量,块内赋值
用let在if块外部声明变量,让变量作用域覆盖到外部代码,块内直接赋值即可:let test; if (result.valid) { test = result.length_valid; } else { console.log('...'); } console.log(test);方法二:三元表达式直接赋值
用三元运算符简化逻辑,直接在外部声明const变量并完成赋值:const test = result.valid ? result.length_valid : undefined; if (!result.valid) { console.log('...'); } console.log(test);方法三:函数封装返回值
如果逻辑复杂,把判断逻辑封装成函数,通过返回值获取结果:function getLengthValid(result) { if (result.valid) { return result.length_valid; } else { console.log('...'); return undefined; // 可根据需求设置默认返回值 } } const test = getLengthValid(result); console.log(test);
内容的提问来源于stack exchange,提问作者julia
相关产品推荐
相关产品推荐

