版权声明: https://blog.csdn.net/wlk2064819994/article/details/86003608
在公司实习一段时间,过程中,发现有很多时候在if()判断语句时,总是出现真假值判断错误的情况。所以特意想总结一下JavaScript中的一些真假值,让自己以后能更快速的判断。
在JavaScript中,所有的值都能转换成真值(truthy)
和假值(falsy)
中的一种.
所以我们只要记住所有的假值,那么剩下的就是真值。
列出我总结的假值:
0, +0, -0, null, undefined, NaN, ""(长度为零的字符串),false
.
特别注意一下:[],{}," "
都是真值。
当[]需要进行if判断时,可以通过数组长度进行判断。
当{}需要进行if判断时,可以通过JSON.stringfy()进行判断。
let arr = [];
if(arr.length === 0){
console.log(1);
}else{
console.log(2);
}
let obj = {};
if(JSON.stringify(obj) === "{}"){
console.log(1);
}else{
console.log(2);
}
假值在使用+
前置时的表现情形:
console.log(+false, +null, +"", +0, +undefined, +NaN);
//0 0 0 0 NaN NaN
一点建议:
永远主动使用===
进行相等判断;当情况特殊,不得已时才使用==
进行相当判断。