javascript - Javascript 真实条件未检测到布尔值
问题描述
我有这部分代码:
let values = true;
let msg = 'message1';
if(values) {let msg = 'message2';}
console.log(msg);
而且我在控制台日志中总是有message1 。
据我所知,if(values)
对于任何真实值,包括真、任何非零数、任何非空字符串值、任何对象或数组引用等,都应该满足 if 语句...
那么为什么它不起作用呢?
解决方案
声明没有问题if
。它运行正确,但问题是您msg
再次定义了变量let msg = 'message2';
那应该被替换,msg = 'message2'
它将起作用。
let values = true;
let msg = 'message1';
if(values) {
msg = 'message2';
}
console.log(msg);