面试题之- null和undefined的区别

前言

首先undefined和null都是基本数据类型,这两个基本数据类型分别都只有一个值,就是undefined和null。

undefined代表的含义是未定义 ,null代表的的含义是空对象,一般变量声明了但是还有没有定义的时候会返回undefined,null主要用于赋值给一些可能会返回对象的变量,作为初始化。

undefined在JS中不是一个保留字,着意味着可以使用undefined来作为一个变量名,但是这样的做法是非常危险的,它会影响对undefined值的判断,我们可以通过一些方法获得安全的undefined值,比如说void 0 。

当对这两种类型使用typeof进行判断时, undefined 返回undefined,null类型化会返回"object",这是一个历史遗留问题,当使用双等号对这两种类型的值进行比较时会返回true,使用三个等号时会返回false

相关推荐
Hhy_110714 分钟前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
starzy199020 分钟前
深入理解Scala函数定义:从方法到函数的类型跨越
开发语言·scala
starzy199026 分钟前
深入理解Scala递归函数:从栈溢出到尾调用优化
开发语言·scala
三*一35 分钟前
Mapbox‑GL JS 多边形折点编辑工具:实现原理、功能拆解与踩坑总结
开发语言·javascript·ecmascript
YSL0701241 小时前
C++基础
开发语言·c++
若亦_1 小时前
Java中关于this的三种用法
java·开发语言·intellij-idea
2601_968793141 小时前
Python Requests 轻量自动化:无需浏览器,实现真人级账号浏览模拟
开发语言·python·自动化
FungLeo2 小时前
成为全栈·基础补充·Node.js 运行时:事件循环与异步
javascript·node.js·事件循环·后端开发·异步编程·成为全栈
eggwyw2 小时前
关于C++为什么不加入垃圾回收机制解析
开发语言·c++
Penge6662 小时前
《Go 后端开发者学 TypeScript:类型别名》
javascript