你们中的许多人混淆了 Null 和 Undefined。
但是,我们将在本教程中讨论一些差异和特点。
未定义是全局范围内的变量。
undefined 的默认值是原始值 undefined。
未定义意味着已声明的变量,但尚未分配该变量的值。
Null 是 JavaScript 原始值,表示有意缺少对象值。
也就是说,它可以赋值给一个变量,作为无值的表示。
例如,让我们将 null 的值分配给 test:
let value1 = null; console.log(value1); //null
通常, undefined 表示已声明为未定义的变量:
let value2; console.log(value2); //undefined
从上面的例子中,你已经知道 undefined 是一个类型本身,而 null 是一个对象。
但是为什么 typeof 运算符为空值返回“对象”呢?
这是原始 JavaScript 实现中的一个错误,然后被复制到 ECMAScript 中。
今天,null 被认为是对象的占位符,尽管实际上它是一个原始值。
但是,在检查 null 或者 undefined 时,请记住相等 (==) 和全等 (===) 运算符之间的区别,因为相等执行类型转换。
console.log(typeof null); //"object" console.log(typeof undefined); //"undefined" console.log(null === undefined); //false console.log(null == undefined );//true console.log(null === null ); //true console.log(null == null); //true console.log(!null ); //true
总而言之,在 JavaScript 中 null 意味着“无”和“空”,即不存在的东西。
而且,一个没有值的变量叫做 undefined。
日期:2020-06-02 22:16:29 来源:oir作者:oir