javascript中null是JS提供的一種特殊值,表示缺少物件;在javascript中可以使用嚴格相等運算子來檢查null值,其檢查語句如「missingObject === null;」。
本文操作環境:windows7系統、javascript1.8.5版,DELL G3電腦。
javascript中null是什麼?
JavaScript中關於null的一切
JavaScript有2種類型:基本型別(string, booleans number, symbol)和物件。
物件是複雜的資料結構,JS 中最簡單的物件是普通物件:一組鍵和關聯值 :
let myObject = { name: '前端小智' }
但是在某些情況下無法建立物件。在這種情況下,JS 提供一個特殊值null
—表示缺少物件。
let myObject = null
值null 特指物件的值未設置,它是JS 基本類型之一,在布林運算中被認為是falsy。
例如,函數greetObject()建立一個對象,但是在無法建立物件時也可以傳回null:
function greetObject(who) { if (!who) { return null; } return { message: `Hello, ${who}!` }; } greetObject('Eric'); // => { message: 'Hello, Eric!' } greetObject(); // => null
但是,在不帶參數的情況下呼叫函數greetObject()時,該函數傳回null
。回傳nul
l是合理的,因為who
參數沒有值。
檢查null
值的好方法是使用嚴格相等運算子:
const missingObject = null; const existingObject = { message: 'Hello!' }; missingObject === null; // => true existingObject === null; // => false
#missingObject === null
的結果為true
,因為missingObject
變數包含一個null
值。
如果變數包含非空值(例如物件),則表達式existObject === null
的計算結果為false
。
null
與false、0、''、undefined、NaN
都是虛值
。如果在條件語句中遇到虛值,那麼 JS 將會強制虛值為false
。
Boolean(null); // => false if (null) { console.log('null is truthy') } else { console.log('null is falsy') }
type null
的結果是什麼
typeof null; // => 'object'
為什麼是'object',typoef null
為object是早期JS 實作中的一個錯誤。
要使用typeof運算子
偵測null
值。如前所述,使用嚴格等於運算子myVar === null
。
如果我們想使用typeof
運算子檢查變數是否是對象,還需要排除null
值:
function isObject(object) { return typeof object === 'object' && object !== null; } isObject({ prop: 'Value' }); // => true isObject(15); // => false isObject(null); // => false
null
經常會在我們認為該變數是物件的情況下意外出現。然後,如果從null中提取屬性,JS 會拋出錯誤。
所以說我麼你想要從一個物件上取屬性的時候,要注意判斷這個物件可能是null
, 要不然的話可能會出錯。
【推薦學習:《javascript基礎教學》】
當無法建構對象時,我們通常的做法是回傳null
,但是這種做法有缺點。在執行堆疊中出現null
時,剛必須進行檢查。
嘗試避免傳回null
的做法:
null
null
undefined
是未初始化的變量或物件屬性的值null
和undefined
之間的主要區別是,null
表示遺失的對象,而undefined
表示未初始化的狀態。
提示:文章寫完後,目錄可以自動生成,如何產生可參考右邊的說明文件
##
以上是javascript中null是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!