JS中 undefined 和 null区别

JS中基本数据类型 包含number(数据类型)、string(字符串类型) 、boolean(布尔类型)、undefined、null、还有ES6新增的Set(集合)数据类型等,

undefinednull他们两的数值都只有他们自己本身,且的值都是的意思,这就有点不便于理解了

  1. undefined : 未定义。 当变量只声明,但是没有赋值。此时默认值是undefined
  2. null : 有定义。 定义的值是空值。

1.相同点

(1)值相等

因为它们都表示无效的值,所以 JavaScript 规范规定了nullundefined的值是相等的。

而使用===判断时,由于它们属于不同的数据类型,则直接会返回false

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

(2)转布尔类型都是false

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

2.不同点

  • null是一个表示"无"的对象,转为数值时为 0;
  • undefined是一个表示"无"的原始值,转为数值时为NaN。

 

 

 

 

 

 

阅读剩余
THE END