Day4:不可貌相的JS變數型別:基本型別
俗話說:「人不可貌相,海水不可斗量。」就像我們看到郭靖傻不楞登,怎麼知道他武功高強。楊康外表英俊,能言善道,卻一肚子壞水。
變數也跟人一樣,從外觀無法判斷內涵。變數本身沒有型別,它所裝的「值」才有型別。
變數的型別可以分為基本型別 (Primitives) 與 物件型別(Object) 兩類。
變數的基本型別有以下5種:
- 字串(string)
- 數字(number)
- 布林(boolean)
- null
- undefined
最重要的是,除了以上幾種之外,其他都是「物件」。
字串string
字串必須用2個單引號’’或是2個雙引號包住,二者不可混用。
字串內也可以不放任何字元,稱之為空字串。
字串可以使用+號與其他字串連接。
數字number
不管是整數還是帶有小數點的浮點數在JavaScript中都屬於數字這個類型。
但是數字number中有幾個比較特別的類型:
- infinity 正的無限大,非0的數字除以0,結果都是infinity,例如 3/0會回傳infinity。
- -infinity 負的無限大,負數除以0,結果都是-infinity,例如-3/0會回傳-infinity。
- NaN 不是個數字,當遇到無法轉換為數字的狀態,或是無意義的運算,例如0/0,就會回傳NaN。而且NaN與任何數字做運算,回傳的結果都是NaN。
我們可以使用isNaN()來檢查一個變數是不是NaN。
布林值 boolean
boolean只有二種值:true 和 false。主要用在判斷式,作為程式流程控制之用。
任何值都可以轉為布林值,但我們只要記得會轉為false的值就可以了。
以下幾種會轉為false:false、0、空字串(“”)、NaN、null以及undefined。
除了上述幾種,其他的值皆為true。
試試看用Boolean()函數將值轉換為布林值:
null
null代表「空值」,所以要將一個變數的值清除?可以指定那個變數為null。
undefined
undefined指的是變數未經宣告,且沒有賦值;或者是有宣告變數,但是沒有給定值的狀態。
引用許國政先生在《0 陷阱!0 誤解!8 天重新認識JavaScript!》為undefined以及null下的註解:
『
- undefined代表的是「(此變數)還沒有給值,所以不知道是什麼」。
- null代表的是「(此變數可能曾經有值,可能沒有值)現在沒有值」
』
以上就是JavaScript的五種基本型別。
Day4:不可貌相的JS變數型別:基本型別
https://popeye-ux.github.io/2021/09/04/21-day4-variableType/