js判断null_JavaScript中的undefined和null

4517ac523186a15fbcc368a8501017b4.png

大家都知道,undefined和null都是JavaScript中基本数据类型之一。先来看看两者的定义:

  1. undefined:未定义的值,表示一个变量的原始状态,而非人为操作的结果,常出现在以下情况:
  • 声明了变量,但没有赋值
let a;
console.log(a) // undefined
  • 访问对象上不存在的属性或者未定义的变量
let obj = {
  name: 'zs'
}
console.log(obj.age) // undefined
console.log(typeof age) // undefined
  • 函数定义了形参,但没有传递实参
//函数定义了形参 a
function fn(a) {
    console.log(a); // undefined
}
fn(); //未传递实参
  1. null 的字面意思是:空值 。这个值的语义是,希望表示一个对象被人为的重置为空对象,而非一个变量最原始的状态 。 在内存里的表示就是,栈中的变量没有指向堆中的内存对象。

应用场景:

  • 初始化一个对象
  • 解除引用

注意: null使用typeof时,得到的结果是object

var data = null;
console.log(typeof data); // "object"
  1. 两者的区别/注意点
  • 3.1 typeof的结果不同
typeof undefined // undefined
typeof null // object
  • 3.2
console.log ( undefined == null );//true   它们的值是一样都是没有值得意思
console.log ( undefined === null );//false    它们的值一样但是数据类型不一样
  • 3.3 在if判断中都被判定为false
  1. 由以上可知,简单的typeof并不能判断出null,那可以使用什么方式来判断呢? 看了这篇Blog你应该会有答案~
https://zhipengyang0605.github.io/js/2020/09/04/JavaScript%E4%B8%AD%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E7%B1%BB%E5%9E%8B/​zhipengyang0605.github.io

参考资料:

JS 应用篇(一):Underfined与Null的区别​blog.csdn.net js中的undefined和null - 庄生梦蝶 - 博客园​www.cnblogs.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值