一開始進入 JavaScript 不免俗的要知道其型別。
分為兩種 基本型別值(Primitive) 和 物件型別(object)
基本型別值
基本型別值有六種: string 、 number 、 boolean 、 null 、 undefined 和 symbol。
string
字串是由許多字元組成,用來標示文字。
number
JS 使用的是 IEEE 754 標準的 雙精度浮點數。
值得注意的是,浮點數運算存在著一些問題,最著名的就是 0.1 + 0.2 === 0.3 會得到 false。
在 ES6 後我們會使用下面這個方式來驗證兩數是否相等
1 | const a = 0.1 + 0.2 |
即是兩數的誤差在 容許值 範圍內
值得注意的是NaN 雖然也屬於 number ,但是 NaN 代表的卻是無效的數字
boolean
只有兩種值, true 與 false 。
值得注意的是有一些值在比較的時候會被強制轉型為 false ,稱之為 falsy
有 "" 、 NaN 、 0 、 null 、 undefined,其餘為 truthy 。
null
null 用來標示空值,預留一個空位給變數。在 JS 中, 一個宣告未給值的變數,會是 undefined,而不是 null 。
undefined
用來標示未定義,一個變數已經宣告,沒給值就會是 undefined。
symbol
ES6 新增,目前還沒有實際使用過,無法很明確的描述其用途。
object(物件型別)
不屬於上述基本型別值的就屬於物件型別
reference
You Don’t know JS: Up & Going, types & Grammar