Javascript 为什么结果与我预期的不同?
Javascript 为什么结果与我预期的不同?,javascript,Javascript,emptyWord=''; if(emptyWord!==false){ 控制台日志(1); }否则{ 控制台日志(2); }您使用的!==错误而非!=错误。当您使用时==它不是检查“falsy”,而是检查它是否真的是false console.log(“”!=false); console.log(“”!==false)它将始终返回true,因为: emptyword不是严格等于(==表示严格等于)false 您可能正在寻找的是!=,例如,在这种情况下,它会将值0转换为false。这里要注意
emptyWord='';
if(emptyWord!==false){
控制台日志(1);
}否则{
控制台日志(2);
}
您使用的!==错误
而非!=错误
。当您使用时==代码>它不是检查“falsy”,而是检查它是否真的是false
console.log(“”!=false);
console.log(“”!==false)代码>它将始终返回true,因为:
emptyword不是严格等于(==表示严格等于)false
您可能正在寻找的是!=,例如,在这种情况下,它会将值0转换为false。这里要注意的是,严格等于和纯等于(==vs==)之间存在差异
英文:
emptyword不等于false吗?在这种情况下,它是正确的,因此它进入第一条:
控制台日志(1)
更多示例请参见此处:
你应该使用=错误,因为==false严格地寻找非false
emptyWord = '';
if (emptyWord != false) {
console.log(1);
} else {
console.log(2);
}
这个!==操作员检查变量的类型和值是否相同。
那个!=操作员检查是否只有值相同
“”和false在js中的值相同,但“”是字符串,false是布尔值
如果要获得2作为返回,则需要将代码更改为:
emptyWord = '';
if (emptyWord != false) {
console.log(1);
} else {
console.log(2);
}
(“”!==false)为真。
(“”!=false)为false。但是emptyWord
与false
不同emptyWord
是一个字符串。它既不是真的
也不是假的
.Doh!我明白我的错误了!