ECMAScript---布尔类型、null、undefined详解

布尔类型中 至只有 true和false

在开发中它是非常重要的两个值,尤其是在条件判断中

如何把其他类型转换为布尔类型?

1、Boolean()

Boolean(1); //true
Boolean(100); //true
Boolean(-122);//true
Boolean(NaN);//false
Boolean(0); //false

2、! :取反  先把其他数据类型转换为布尔类型,再取反

! '字符串' //false
!' ' //false
!0 //true
!1 //false

3、!! :取两次反,等价于没有取反,直接转换为布尔类型

!!null; //false
!!undefined; //false
!!0 ; //false
!!' '; //false
!!NaN ;//false
!![] ; //true
!! { }; //true

规律:在js中,只有 0 、NaN 、空字符串、null 、undefined 这个5个值转换成布尔为false,其余都转换为true

-----------------------------------------------------

null && undefined详解:

都是代表空或者没有的意思

null:空对象指针

undefined:未定义,只有js中有

null和undefined区别:

转换为数字后的不同,null转换数字是0,undefined转换数字是NaN

null一般是意料之中的没有,暂时没有,使用时一般先手动赋值为null,后面使用的时候再次会赋值

undefined 不是人为手动控制的,大部分都是浏览器自主为空,后面可以赋值也可以不复制

var num=null; 
num=12;

var m; //此时m的值浏览器分配的是 undefined 

总结:其实null和undefined使用上没有太多区别,就好比 div和p的使用,只是语义化不同,使用方式约定俗成

猜你喜欢

转载自www.cnblogs.com/xinxinxiangrong7/p/11424153.html
今日推荐