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