javascript中几种为false的值

如果JavaScript预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。

undefined
null
 false
 0
 NaN
""或''(空字符串)
需要特别注意的是,空数组([])和空对象({})对应的布尔值,都是true。
 
 
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>


// 如果JavaScript预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。

// undefined
// null
// false
// 0
// NaN
// ""或''(空字符串)
// 需要特别注意的是,空数组([])和空对象({})对应的布尔值,都是true。 




          var b='';
           if(!b){
            
               console.log('空值默认是false');

           }

           var c=NaN;

           if(!c){
                console.log('NAN也是false');

           }

           if(!0){
                 console.log("0也是false");

           }

           if(!undefined){
               console.log('undefined也是false');
           }

           if(!null){
               console.log('null也是false');
           }
           if(!false){
               console.log('false本身');
           }
           if([]){
                console.log("空数组是true");
           }

           if({}){
               console.log('空对象也是true');
           }


    </script>
</body>
</html>
sometimes the hardest part isn't letting go,but rather start over
原文地址:https://www.cnblogs.com/zhumeiming/p/9705740.html