Boolean转换相关问题 转换规则 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 “”(空字符串) Number 任何非零数字值(包括无穷大) 0和NaN Object 任何对象 null Undefined 不适用 undefined 一些实例1234567891011var x = new Boolean(false);console.log(x); //Boolean {false}if (x) { console.log('hi'); }var y = Boolean(0); console.log(y); //falseif (y) { console.log('hello');}//输出hi 这里存在坑,x是一个Boolean对象,在if判断中x不为null所以转换为true,于是最后输出hi 123456789101112console.log(Boolean([0])); //trueconsole.log(Boolean(''));//falseconsole.log(Boolean('false')); //非空字符串,返回trueconsole.log(Boolean(false)); //falseconsole.log(Boolean(null)); //falseconsole.log(Boolean(0)); //falseconsole.log(Boolean(+0)); //falseconsole.log(Boolean(-0)); //falseconsole.log(Boolean(NaN)); //falseconsole.log(Boolean(undefined)); //false//总结:除了0、null、undefined、NaN、''、false 返回false之外//其他的都返回true JavaScript #JS基础 Boolean转换相关问题 https://blog-theta-ten.vercel.app/2021/10/14/Boolean转换相关问题/ 作者 Chen 发布于 2021年10月14日 许可协议 缓存 上一篇 JS相等操作符比较规则 下一篇 Please enable JavaScript to view the comments