JS 各种类型的数据转为布尔值(Boolean)
//方式一
!!value;
//方式二
Boolean(value);
推荐直接使用 !!
以下数据转为布尔类型,值会是 false
false
undefined
null
NaN
0
"" //空字符串
非上述值转为布尔值都会是 true
假值判断:
//使用 !!value 语法
!!false; // false
!!undefined; // false
!!null; // false
!!NaN; // false
!!0; // false
!!""; // false
//使用 Boolean(value) 语法
Boolean(false); // false
Boolean(undefined); // false
Boolean(null); // false
Boolean(NaN); // false
Boolean(0); // false
Boolean(''); // false
!!
使用原理
例如下面代码:第一个 !
将 value
强制转为 Boolean
类型, 此时 !value
的值为false
, 为了让它的值为 true
,所以又放了一个 !
,因此需要使用两个叹号:!!
const value = 'string';
!value; // false
!!value; // true
注意 "false"
的转换
const value = "false";
!!value; // true
Boolean(value); // true
这里的 "false"
是被引号包裹的,虽然它描述的是 false
,但它实际是一个字符串,value
最终会被转换为 true
使用 Boolean
构造函数移除数组内的空字符串
var arr = [ "一个", "", "字符串", "", "数组" ]
arr.filter(Boolean); //[ "一个", "字符串", "数组" ]
参考资料 Reference :
2 Ways to Convert Values to Boolean in JavaScript版权声明:[自由转载-注明出处-非商用-非衍生] (知识共享许可协议)