扫码关注官方订阅号
复合条件来检测null值的类型:
var a =null ;(!a&& typeof a === "object"); //true
请问这个得到的true的结果是怎么得出的,!a 这样处理有点费解~
认证0级讲师
!a实际就是!null,null转为布尔型就是false,所以!null就是true,而typeof null === "object"也是true的(参见 MDN:typeof 中“null”一节),所以最后AND的结果当然也true啦。
!a
!null
null
false
true
typeof null === "object"
!a // 把a转换成boolean值, 并作逻辑非运算得到的值
参考: MDN | javascript逻辑运算符
!true ==> false!false ==> true
!true
!false
这里的意思是如果a转成boolean是false而且typeof a === object, 那他就是null
a转成boolean是false
typeof a === object
实际上可以直接通过
a === null // 来判断是否null即可
!a//truetypeof a === "object"//true'!'会将值转换成布尔值并取其值的非值
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
!a实际就是!null,null转为布尔型就是false,所以!null就是true,而typeof null === "object"也是true的(参见 MDN:typeof 中“null”一节),所以最后AND的结果当然也true啦。!a// 把a转换成boolean值, 并作逻辑非运算得到的值参考: MDN | javascript逻辑运算符
!true==>false!false==>true这里的意思是如果
a转成boolean是false而且typeof a === object, 那他就是null实际上可以直接通过
!a//true
typeof a === "object"//true
'!'会将值转换成布尔值并取其值的非值