javascript - 字符串不是只有在空的时候才是false吗?

查看:114
本文介绍了javascript - 字符串不是只有在空的时候才是false吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

解决方案

var str = "hello";
console.log(str == true);

if (str) {
    console.log("if true");
}

// false
// if true

也就是说,上面的 == 判断并不是把 str 转换为布尔型来判断的,但是下面 if 语句的条件必须是布尔弄,所以是转换为布尔型来判断的,那么试试这个

console.log("true" == true);
console.log("false" == false);

// false
// false

很显示,== 也不是把布尔型转换为字符串来比较的……

其实 == 的比较确实是转换成字符串来比较但,但是在布尔型转换为字符串之前,要先转换成 Number,所以下面的实验就成功了

console.log("1" == true);
console.log("0" == false);

// true
// true

这篇关于javascript - 字符串不是只有在空的时候才是false吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆