1、问题背景
在JavaScript中,有null、undefined、空字符串、数值等,如果这些值前加上!!,真假值又是如何呢?
2、实现源码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
(function(){
var a = !!undefined;
var b = !!"";
var c = !!100;
var d = !!null;
console.log(a,b,c,d);
})()
</script>
</head>
<body>
</body>
</html>
3、结果分析
!!是类似“负负得正”,判断原来的的真假即可。首先,undefined转换成boolean值为false,""空字符转布尔类型也是false,100是非零值即为true,null代表空转为布尔值为false,结果如下:
false false true false