我是靠谱客的博主 坦率花瓣,最近开发中收集的这篇文章主要介绍JavaScript null、undefined与布尔值转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.1 null与undefined

1.1.1 相同点

  nullundefined都可以表示“没有”,含义非常相似。将一个变量赋值为undefinednull,老实说,语法效果几乎没区别。在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与布尔值转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(21)

评论列表共有 0 条评论

立即
投稿
返回
顶部