iT邦幫忙

2024 iThome 鐵人賽

DAY 7
1
佛心分享-IT 人自學之術

菜雞學習JavaScript的30日讀書分享系列 第 7

菜雞學習JavaScript的30日讀書分享【Day 7】型別判斷

  • 分享至 

  • xImage
  •  

前言

====================本系列文章沒有什麼高深的理論====================
====================純粹是以一個菜雞的視角來分享====================

型別判斷(typeof)

前面提到了資料型別,假如想要在JavaScript檢查型別該怎麼做呢?

我們可以透過typeof運算子來處理

typeof false; // 'boolearn' ,布林值
typeof 'cat'; // 'string' ,字串
typeof 456; // 'number' ,數字
typeof NaN; // 'number' ,NaN是一種表示「不是數字」的數字
typeof {}; // 'object' ,物件
typeof []; // 'object' ,物件
typeof undefined; //'undefined'
typeof null // 'object' ,物件

透過typeof運算子回傳的都是「字串」(String),不過有些可能跟預期的不太一樣,這是因為在JavaScript初期實作時,JavaScript的值是由一個表示「型別」的標籤與實際內容的「值」所組成的。

由於物件這個型別的標籤是「0」,而null表示的是空值(慣例會以0x00表示),於是代表null的標籤跟物件(Object)的標籤搞混了,才出現了這樣的錯誤。

在ES6時,JavaScript的老爸Brendan Eich本來想將typeof null修正成 typeof "null",但JSON的老爸Douglas Crockfor持保留意見,因為修改了會影響太多舊有的程式,也就是前面所說的「妥協」。

今日的分享就到這囉,我們明天見,掰掰!


上一篇
菜雞學習JavaScript的30日讀書分享【Day 6】陣列
下一篇
菜雞學習JavaScript的30日讀書分享【Day 8】運算式與運算子
系列文
菜雞學習JavaScript的30日讀書分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言