如何定义空值和未定义值
一个例子会有所帮助。下面我们声明两个变量。让我们保持简单并使用null和undefined比较结果,因为它们有时会因为相似性而混淆。
let leviticus = null;
// leviticus is null
let dune;
// dune is undefined
声明两个变量:一个为空,一个为未定义。
leviticus有意没有对象值 ( null )。虽然dune已声明,但它无意中遗漏了一个值(未定义)。
如何检查空值typeof()
您可以使用 JavaScript 中的运算符检查 null typeof()。
console.log(typeof(leviticus))
// object
console.log(typeof(dune))
// undefined
typeof() 在空变量上调用时将返回“object”
奇怪的是,如果您使用 进行检查typeof(),则会返回一个空变量object。这是因为 JavaScript 中的一个历史错误。
如何使用相等运算符检查空值
另一个好奇心是,当您使用双等号 松散地检查相等性时==,null将undefined返回true。
console.log(leviticus == dune)
// true
console.log(leviticus === dune)
// false
console.log(leviticus == null)
// true (but not as good a habit to use as strict equality shown in next example)
但是,当