空数组判断
let obj = [];
if(obj){ // 此时 obj 为真,所以继续执行
console.log("Hello World");
}
字面量声明的空对象判断
let obj = {};
if(obj){ // 此时 obj 为真,继续执行
console.log("Hello World");
}
null判断
let obj = null;
if(!obj){ // 此时 obj 为假,取反为真,继续执行
console.log("Hello World");
}
undefined判断
let obj = undefined;
if(!obj){ // 此时 obj 为假,取反为真,继续执行
console.log("Hello World");
}
其他判断条件
console.log(null == {}); // false
console.log(null == undefined); // true
console.log(null === undefined); // false
''进行判断
console.log('' == false); // true
console.log('' === false); // false
let obj = '';
if(obj){ // 此时 obj 为假,不执行
console.log("我是假的我不执行!");
}
let obj1 = '';
if(!obj1){ // 此时 obj1 为假,取反为真执行
console.log("我现在是真的了,开始执行!");
}
总结:布尔判定
当值为
false、''、null、undefined、0、NaN
的时候都为 false
当值为其他
的时候都为 true
网友评论