!!的作用
!! 一般用来将后面的表达式强制转换为布尔类型的数据 (boolean),因为 javascript 是弱类型的语言 (变量没有固定的数据类型) 所以有时需要强制转换为相应的类型。
例如:
var a = !!" " + !!"" - !!false;
console.log(a);
相当于 a = true + false - false;
所以a是1。
能够被转换成bool类型的值
在JavaScript中,能被解释成false
的值有:
undefined
、null
- 布尔值:
false
- 数字:
-0
、NaN
- 字符串:
''
其余值都会被解释成true
。