3分鐘帶你搞明白Null和Undefined
很多同學在學習的時候,經常沒辦法分清楚undefined和null的區別,認為他們兩個都是沒有值的意思,那麼幾天的教程,就來和大家談談他們的區別,喜歡的朋友可以點一下關注。
—— 不怎麼華麗的分割線 ——
問題一:null是什麼?
關於有兩點需要掌握:
是一個值
是被賦值來的
看一共Demo,我們給 a 變數賦值為 null:
問題二:undefined是什麼?
通常表示一個變數單單被聲明過,但是沒有初始化,例如如下Demo:
你也可以特意的給一個變數賦值為,不過正常場景下不會這麼使用
還有一點,當訪問對象不存在的屬性時,我們會得到
和的相同點
在 JS 語言中,有6個的值,其中和是六個值中的兩個。
falsy 值:
false
0 (zero)
「」 (empty string)
null
undefined
NaN (Not A Number)
其餘所有的值則皆為。
另外, JS 語言中有六個原始數據類型,和是其中兩個原始類型的值。原始數據類型:
Boolean
Null
Undefined
Number
String
Symbol
不在上述六種之內的就都是引用類型。但是有趣的是,當你使用來校驗時,返回的卻是,可以簡單理解為這是js 在最初引入的一個 bug。
Null !== Undefined
通過上面的介紹,你可能已經隱隱約約的感覺到了和是不同的,但非常相似。所以,但是
和存在差異的實際應用場景
說了那麼多,那我們到底要怎麼用呢?這才是關鍵對不對。
Demo1 我們在ES6中用到的默認參數。
就上述代碼,大家可以再和我一同回憶下ES5的默認參數的寫法
最後總結
是被賦值出來的,它用來表示空
通常表示一個變數被聲明了,但是沒有被初始化
和都是值
和都是原始數據類型,但JS 語言的bug導致
如果你覺得對你有用,請轉發給你的小夥伴門哦。
TAG:WEB開發李家靖 |