首页 > 其他分享 >null和undefined的区别

null和undefined的区别

时间:2023-06-12 13:45:05浏览次数:36  
标签:undefined 未定义 区别 对象 JavaScript null 赋值

在 JavaScript 中,null 和 undefined 都表示空值,但它们有着不同的含义和用途。

undefined 表示不存在、未定义或者缺失。它是一个原始数据类型,在以下情况下会出现:

  • 变量被声明但没有赋值
  • 访问对象属性不存在或未定义
  • 函数参数未传递

而 null 表示一个对象为空或者不存在,它也是一个原始数据类型。null 在下列情况下出现:

  • 把定义了的变量赋值为 null
  • 用对象获取不到值时返回 null
  • 当函数要返回对象但是暂时没有可以返回的对象时,可以返回 null 作为哨兵值。

总结区别:

  • undefined 表示未定义或未初始的值, null 表示一个空对象指针。
  • undefined 是 JavaScript 语言中的关键字,而 null 是 JavaScript 语言中的特殊关键字。
  • 对于声明但是未赋值的变量,默认的值为 undefined,但是 null 需要进行显式赋值。
  • 在使用 == 进行比较时,它们会相互转换成 Boolean 类型值,undefined 转换为 falsenull 转换为 false
  • 在使用 === 进行比较时,除了两者的值相等,它们与其它类型值永远不相等,因为它们类型不同。

标签:undefined,未定义,区别,对象,JavaScript,null,赋值
From: https://www.cnblogs.com/kitebear/p/17474805.html

相关文章

  • @Validated注解和@Valid注解区别
    引入依赖注意:spirngboot升级到2.3.0.RELEASE之后,hibernate-validator不再作为spring-boot-starter-web的默认依赖项,需要通过下面的maven坐标单独引入:<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><versio......
  • 终于理解集线器、交换机、路由器之间的区别了
    集线器、交换机、路由器 什么是集线器Hub?1、把内网中的网络设备连接起来,支持多个以太网连接的端口,可以连接多种网络设备2、仅仅知道端口上是否连接了设备,经过集线器传输的数据包,所有设备都能接收到,如下图,当主机A发送数据包给主机C时,主机B和D都能接收到数据3、不仅带来......
  • typeof 与 instanceof 区别
    typeof:点击查看代码typeof1//'number'typeof'1'//'string'typeofundefined//'undefined'typeoftrue//'boolean'typeofSymbol()//'symbol'typeofnull//'object'typeof[]//�......
  • 常见机械键盘轴体的区别
     如果想要有段落感,则需要购买青轴或茶轴,青轴的声音非常大,会影响同事的办公。因此办公室或寝室建议不要选择青轴。茶轴是比较好的选择。红轴和黑轴没有段落感,直上直下的感觉。......
  • java——微服务——spring cloud——Nacos——Nacos与Eureka区别
        ......
  • vue报错Invalid VNode type: undefined
    报错项目启动后,部分内容没有显示出来。打开console后,显示[Vuewarn]:InvalidVNodetype:undefined(undefined)处理引入“defineAsyncComponent”实现异步引入。import{defineAsyncComponent}from'vue'。问题解决了。......
  • 9.12 抽象类与接口的区别
    常见面试题No区别抽象类接口1.定义abstractclass抽象类名称interface接口名称2.组成构造,普通方法,静态方法,全局常量,成员抽象方法,全局常量,普通方法,static方法3.权限可以使用各种权限定义只可以使用public4.子类使用子类通过extends关键词可以继......
  • C++面试八股文:struct、class和union有哪些区别?
    C++面试八股文:struct、class和union有哪些区别?某日小二参加XXX科技公司的C++工程师开发岗位5面:面试官:struct和class有什么区别?小二:在C++中,struct和class的唯一区别是默认的访问控制。struct默认的成员是public的,而class的默认成员是private的。面试官:struct、class和unio......
  • 接口与抽象类的区别
    抽象类首先抽象类我们可以望文生义,是一个抽象的类,本质仍是类,那么他就应该具有类的特征,但是既然把他单独拎出来说明他肯定还有一些特殊性。1、继承了抽象类的类,要么本身也是抽象类,要么就实现类。2、抽象类也可以拥有普通方法3、抽象类不能创造对象接口接口是对行为的抽象,里面......
  • ESXi虚拟化的坑-细微区别下虚拟机性能差异巨大
    ESXi虚拟化的坑-细微区别下虚拟机性能差异巨大背景周末在公司无偿加班.同组的小伙伴周一有一个需求,我想着周六乘着机器压力不大进行一下虚拟机的clone但是截止到晚上快十点都没有完全Clone完.我感觉非常不对.然后突然想是不是硬件的bug导致性能有差异.想着最近总是在......