null和undefined的区别

文/旧梦颜

null表示没有对象,即该处不应该有值。典型用法是:作为函数的参数,表示该函数的参数不是对象。作为对象原型链的终点。undefined表示缺少值,就是此处应该有一个值,但是还没有定义。典型用法是:变量被声明了,但没有赋值时,就等于undefined。

null

null的字面意思是“空值”,这个值的语义是,希望表示一个对象被人为的重置为空对象,而非一个变量最原始的状态。在内存里的表示就是,栈中的变量没有指向堆中的内存对象。

undefined

undefined的字面意思就是未定义的值,这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果。这种原始状态会在以下4种场景中出现:

(1)声明了一个变量,但没有赋值

(2)访问对象上不存在的属性

(3)函数定义了形参,但没有传递实参

(4)使用void对表达式求值

小编推荐

1.英一英二难度差距有多大 二者有哪些区别

2.技校单招和高中单招一样吗 二者有什么区别

3.强基计划和统招哪个好 二者有何区别

4.强基计划和普通录取的区别 有哪些不同

5.走单招和考上大专有什么区别 有哪些不同

6.单招和专科的学历一样吗 有区别吗

7.乌克兰语和俄语的区别 哪个好学

8.need to do和need doing的区别是什么

下载文档