美文网首页
js中null和undefined的区别

js中null和undefined的区别

作者: 天渺工作室 | 来源:发表于2023-03-17 15:16 被阅读0次

js中null和undefined的区别?这也是一个常见的js面试题

相同点

1,都是基本类型。
2,做判断值都是false。

!!null === false // true
!!undefined === false // true

不同点

1,诞生时间null在前,undefined在后。因为js作者Brendan-Eich在创造js语言时,直接抄了java很多东西。也包括null,后期发现js中的null有缺陷,又创造了undefined。(《JavaScript高级程序设计》中有说,下面的不同点就包含null缺点)

2,typeof 类型不同

typeof null; // 'object'
typeof undefined; // 'undefined'

3,Number() 转数字也不同

Number(null); // 0
Number(undefined); // NaN     (Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。

4,前端开发中出现的时机不同
   (1) null 触发null的时机

// 举例

// 获取不存在的dom
document.getElementById("233") // null

// 获取不存在的储存
localStorage.getItem("233") // null
sessionStorage.getItem('233') // null
...

   (2) 触发undefined的时机

// 举例(undefined触发时机太多,简单举例)

// 声明变量未使用
var test1; // undefined

// 声明变量未使用
var test1; // undefined

// 对象中找不到该属性
var obj ={};
obj.a;  // undefined
...

5,函数参数有默认值时,当参数使用时默认参数 是否生效 效果不同。

function demo(data = '233'){
   console.log('_______'+data);
};
demo(null); // _______null
demo(undefined); // _______233

总结

null本质是一个表示"无值"的对象,算是一个特殊值。

undefined是一个表示"还没有定义"的原始类型。

相关文章

  • 知识点杂谈

    1.js中null和undefined的区别 在js中null和undefined都表示空,但它们还是存在一定区别...

  • JavaScript中Null和Undefined的区别

    JavaScript中Null和Undefined的区别 Null: null是js中的关键字,表示空值,null...

  • JS杂记

    1、Undefined 与 Null 的区别 Undefined 与 null 的值相等,但类型不相等。在js中,...

  • 之前的面试题

    1、js底层了解多少? 2、null和undefined有什么区别?(null是什么类型) 3、===和==的区别...

  • js 中null和undefined区别

    上周五上线代码,又踩了一次坑。导致线上bug。为此特意追查了下null和undefined在js中的却别。整理了相...

  • JavaScript中null和undefined的区别

    JavaScript 中null和undefined的区别 typeof操作符 在区分null和undefined...

  • js中null和undefined的区别

    1、概述: 在JavaScript中存在这样两种原始类型:null与undefined。这两种类型常常会使Java...

  • null和undefiend区别?

    JS中Null与Undefined的区别 在JavaScript中存在这样两种原始类型:Null与Undefine...

  • JS面试题

    js 基本类型?null 和 undefined 区别 基本类型:number、string、boolean、nu...

  • 你所不知道的 JavaScript

    null 和 undefined 的区别 null和undefined的区别,两者值是相等的unll==undef...

网友评论

      本文标题:js中null和undefined的区别

      本文链接:https://www.haomeiwen.com/subject/uxujrdtx.html