前端面试题(1):undefined和null的区别

createh53周前 (12-20)技术教程20

寒冬来临,裁员的消息此起彼伏。现在准备面试肯定是有备无患,我准备了一系列前端面试的常见问题,和大家一起学习。不管你是不是有找工作的需求,多掌握一些肯定是有益无害。

1.undefined和null有什么区别



undefined和null都是JavaScript的基本数据类型,在进行判断的时候,都是被认为是false。

   console.log(!!null); //logs false
   console.log(!!undefined); //logs false

   console.log(Boolean(null)); //logs false
   console.log(Boolean(undefined)); //logs false


以下几种情况JavaScript会返回undefined:

1.未赋值的变量。

2.无返回值函数的执行结果。

3.对象中不存在的属性。




他们的主要区别如下:

undefined表示变量的值不存在(未定义)。

null则表示变量的值就是null(空值)。


undefied和null进行比较时,使用 == 判断的结果为真,因为二者的值是相等的。但是使用 === 判断时,结果为false,因为他们的类型不一致。

console.log(null == undefined); // logs true
console.log(null === undefined); // logs false


欢迎转发,评论。

相关文章

在Java中如果对象的引用被设置为null,垃圾收集器应当如何工作?

在Java中,如果在程序初始化之初就将一个对象的引用设置为NULL。那么JVM的垃圾回收机制该如何工作呢?是不是就会立即释放该对象所占用的内存呢?答案是否定的,将一个对象设置为NULL,垃圾回收机制并...

Java判空,Optional和工具类真香?还是if(obj == null)更靠谱?

背景描述最近在开发项目时,我遇到了一个需要从 Hyperlink 对象中获取 link 属性的小需求。这个过程中我需要判断 Hyperlink 对象是否为 null,以防止出现空指针异常。面对这种情况...

Java中当对象不再使用时,不赋值为null会导致什么后果?

前言许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。鉴...

MySQL数据库的表中 NULL 和 空值 到底有什么区别呢

浅谈 NULL 和 空值的区别NULL也就是在字段中存储NULL值空字符串值也就是字段中存储空字符('')我们来通过测试来看看 他们彼此的区别:1、占用空间区别mysql> se...

Java 8 Optional:优雅地避免 NPE java防止xss

本篇文章将详细介绍 Optional 类,以及如何用它消除代码中的 null 检查。在开始之前首先来看下什么是 NPE,以及在 Java 8 之前是如何处理 NPE 问题的。空指针异常(NullPoi...