# null & "空字串" & Undefined & not defined & NaN的差別 ###### tags:`javascript` * Undefined : 宣告沒給值(未定義) 當作變數宣告的預設值,一般變數宣告了但还沒給值(定義)的时候会返回 undefined 連是不是杯子都不知道 * not defined : 沒有宣告沒給值(未定義) 連宣告都沒宣告 * null :(沒有值) "沒看到沒有"空物件 用於赋值给一些可能会返回物件的變數,我要讓這個變數是空的,作为初始化。 是object物件 一個是連裝水的容器都沒有。如果欄位根本不存在,那就是null。 * "空字串" :(Empty空值) "什麼也沒有" 是string字串 本來裝水的容器今天沒裝水。如果這個欄位存在,但是沒有輸入任何內容,那就是取到空字串 * NaN : (不是一个数字) 用于指出数字类型中的错误情况,即“执行数学运算没有成功,这是失败后返回的结果”。 ``` 小紅帽生下來還沒看過狼 let wolf = undefined; // 有定義但沒給值,阿嬤跟它說有個東西叫做狼,很危險。但小紅帽還是"不知道它長的怎麼樣"… 每天向門外看說天上飛的那隻是狼嗎?地上爬的那條的是嗎? let wolf = null; //沒看到沒有,有一天,小木偶到她家跟他說門外有狼,她打開"什麼都沒有"很確定門外沒有狼。 let wolf = ''; //知道牠是狼,但不知道它是什麼狼。 正確一點來說,空字串 是指已經確定它是字串了,只不過是沒有字的字串。 let wolf = '灰太狼'; //叫灰太狼的狼 let wolf = new 人('也是 ㄌㄤˊ,只不過是「色狼」'); //披著人皮的狼(變數可以裝不同的東西) ``` [出處於此](https://dotblogs.com.tw/gra/2018/06/10/121512) ``` let school=""; console.log(school)//null console.log(typeof school)//object ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up