iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
自我挑戰組

從零開始 - 30 天學習筆記系列 第 11

Day 11 - JavaScript undefined / is not defined / null

  • 分享至 

  • xImage
  •  

接下來這篇要介紹的是:undefined / is not defined / null
看起來都像 "沒有",但其實這三個個別表達了不同的意思

undefined

變數宣告後但還未賦值給它時,它的值就是 undefined

let aa
console.log(aa) // undefined

null

是一個特殊的值,可以表示 沒有值
通常是用來表示變數應該有一個值,但目前暫時是空的,與 undefined 不同,undefined 比較像是一個初始化後默認的狀態

較特別的一點是 null 的型態是 object

console.log(typeof null) // object
console.log(typeof undefined) // undefined

undefined 若做數字運算會得到 NaN
null 運算時會被當作 0

1 + null  // 1
1 + undefined  // NaN

is not defined

如果在沒有宣告變數的情況下使用變數,會導致 ReferenceError,代表變數未定義
這與 undefined 不同,undefined 不會出錯,它只是表示變數宣告後沒有賦值
而 'is not defined' 是個錯誤,表示變數根本不存在

a + 1  // ReferenceError: a is not defined

上一篇
Day 10 - JavaScript:箭頭函數
下一篇
Day 12 - CSS 命名
系列文
從零開始 - 30 天學習筆記12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言