|
|
|
|
|
在 JavaScript 中,null
和 undefined
是兩個表示值不存在的特殊值。盡管它們經(jīng)?;Q使用,但它們之間存在細(xì)微差別。
JavaScript 中的 undefined 是什么?
undefined
是自動分配給未初始化的變量或不存在的對象屬性的值。它也由未顯式返回值的函數(shù)返回。
JavaScript 中的 null 是什么?
null
是顯式分配給變量或?qū)ο髮傩缘闹担硎舅鼪]有值。
undefined 的代碼示例
let x;
console.log(x); // 打印 undefined
在此示例中,x
已聲明但未初始化,因此其值自動設(shè)置為undefined
。
另一個代碼示例
function test() {}
console.log(test()); // 打印 undefined
在此示例中,test()
是一個不返回任何內(nèi)容的函數(shù)。當(dāng)它被調(diào)用時,它會隱式返回 undefined
。
null 的代碼示例
let y = null;
console.log(y); // 打印 null
在此示例中,y
被顯式分配了值 null
。
現(xiàn)在讓我們看看它們在某些操作中的表現(xiàn),
let a;
let b = null;
console.log(a == undefined); // true
console.log(b == null); // true
console.log(a == null); // true
console.log(b == undefined); // true
console.log(a === undefined); // true
console.log(b === null); // true
console.log(a === null); // false
console.log(b === undefined); // false
==
運(yùn)算符檢查值是否相等,而 ===
運(yùn)算符檢查值和類型是否相等。如你所見,undefined
和 null
與 ==
比較時相等,但與 ===
不相等。
總結(jié)
總之,undefined
表示變量沒有被賦值或者函數(shù)沒有返回值。而 null
表示變量或?qū)ο髮傩詻]有值。
此前我也寫過一篇文章,通過實(shí)例詳述了JavaScript中的null
和undefined
的含義及不同之處,請參閱:
相關(guān)文章