众所周知,! 表示“非”的意思。
在javascript中,!! 的意思是两次取“非”。
先看示例,这样做的好处随后再表。
1)a为空字符串。
var a = "";
var b = !!a;
//!a = true;
//b = false;
2)a的值是undefined。
var a;
var b = !!a;
//!a = true;
//b = false;
3)a的值是null。
var a = null;
var b = !!a;
//!a = true;
//b = false;
4)a的值是0。
var a = 0;
var b = !!a;
//!a = true;
//b = false;
在javascript中,当一个变量的值是(null/undefined/""/0)时,它的非的值是true。
两次取非可以达到将紧随其后的表达式强制转换为相应的布尔类型。
因此,对于没有明确值的变量,对其两次取非后结果为false。
注意:
一定要对空字符串和字符串是空格加以区别。
当变量a的值是"",也就是空字符串时,!!a的值是false;
当变量a的值是" ",也就是空格(引号里是空格)的情况下,!!a的值是true。
本文解析了JavaScript中使用!!运算符的意义与应用场景。详细解释了如何通过两次取非将值转换为布尔类型,并展示了当变量值为null、undefined、空字符串及0时,其!!运算结果均为false的特点。
1107

被折叠的 条评论
为什么被折叠?



