undefined 和 null 的差別
undefined
意思是變數沒有被宣告,或者是已經宣告了,但是沒有賦值。null
意思是「沒有值」的值。- Javascript 將未賦值的變數的預設值設為
undefined
。 - Javascript 從來不會將值設定為
null
。這是讓開發者用來宣告var
是沒有值的。 undefined
不是一個有效的 JSON,而null
是有效的。undefined
的類型(typeof) 是undefined
。null
的類型(typeof)是一個object
。為什麼?- 它們都是原始(primitives)型別。
- 它們都是 falsy
(
Boolean(undefined) // false
,Boolean(null) // false
)。 -
你可以判斷一個變數是否為 undefined。
typeof variable === "undefined"
-
你可以判斷一個變數是否為 null。
variable === null
-
雙等號運算符認為它們是相等的,但是三等號比較時是不相等的。
null == undefined // true null === undefined // false
MEET THE NEW JSTIPS BOOK
You no longer need 10+ years of experience to get your dream job.
Use the 100 answers in this short book to boost your confidence and skills to ace the interviews at your favorite companies like Twitter, Google and Netflix.
GET THE BOOK NOW
MEET THE NEW JSTIPS BOOK
The book to ace the JavaScript Interview.
A short book with 100 answers designed to boost your knowledge and help you ace the technical interview within a few days.
GET THE BOOK NOW