概述
1.1 null与undefined
1.1.1 相同点
null与undefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。在if语句中,它们都会被自动转为false,相等运算符(==)甚至直接报告两者相等。
//等同,下列式子返回true
null == undefined;
1.1.2 区别
1.类型不同
null在js中定义的对象,表示空对象,但undefined代表未定义;
//null为空对象
typeof(null)
//
"object"
//未定义
typeof(undefined)
//"undefined"
2.转化不同
当作数值类型进行转化时,null会被转为0,undefined会被转化为NaN;
Number(null) // 0
5 + null // 5
Number(undefined) // NaN
5 + undefined // NaN
1.2 布尔值
布尔值代表“真”和“假”两个状态。“真”用关键字true
表示,“假”用关键字false
表示。布尔值只有这两个值。
下列运算符会返回布尔值:
- 前置逻辑运算符:
!
(Not) - 相等运算符:
===
,!==
,==
,!=
- 比较运算符:
>
,>=
,<
,<=
如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false
,其他值都视为true
。
undefined
null
false
0
NaN
""
或''
(空字符串)
注意事项:{}
以及[]
自动转化的时候为true
if({}){
console.log("{}---true")
} else {
console.log("{}---false")
}
// 以上程序打印"{}---true"
if([]){
console.log("[]---true")
} else {
console.log("[]---false")
}
// 以上程序打印"[]---true"
最后
以上就是坦率花瓣为你收集整理的JavaScript null、undefined与布尔值转换的全部内容,希望文章能够帮你解决JavaScript null、undefined与布尔值转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复