JavaScript 的型別分為 基本型別 (Primitives types) 和 物件型別 (Object types) 兩大類
其中基本型別包含 string
、number
、boolean
、null
、undefined
、symbol
(ES6)
其他都是物件型別
字串 string
字串表示法:字串會用' ' (單引號)
或 " " (雙引號)
包住,兩者用法沒有什麼差異
var str = "JavaScript"
var str = 'JavaScript'
當單引號的內容有出現單引號,外層需改用雙引號
var str = 'Let's learn JavaScript' //x
var str = "Let's learn JavaScript" //o
數值 number
JavaScript 的數值沒有區分成浮點數值或整數值,通通都以浮點數值表示。JavaScript 使用 IEEE 二進位浮點數算術標準,其中有四種表示浮點數值的方式,它採用雙精確度(64位元浮點格式),代表他可以表示的數字介於最大安全整數 253 與最小安全整數 -253 之間,若數字再更大則會有精確度的問題。
使用方法:
var a = 100;
除了常見的整數外,還有幾種特殊的數字:Infinity
(無限大) 、-Infinity
(負無限大) ,以及 NaN
(Not a Number)。
5/0 //Infinity
-5/0 //-Infinity
0/0 //NaN
Infinity+Infinity //Infinity
Infinity-Infinity //NaN
布林值 boolean
boolean 就相對單純許多,因為他的結果只有兩種,true
以及 false
空值 null
使用方法:
var a = null;
未定義 undefined
使用方法:
var a; // 變數 a 尚未定義,此時 a 為 undefined
符號 symbol
用來作為物件屬性名稱的唯一識別
使用方法:
var key = Symbol('name');
原生物件 (Native Objects)
ECMAScript 標準中定義的物件有以下幾種
Array
, Date
, Math
, RegExp
, Number
, String
, Boolean
, Object
, Function
, Typed Arrays
, Map
, Set
, WeakMap
, WeakSet
, JSON
宿主物件 (Host Objects)
由 JavaScript 執行環境 額外提供的物件,例如:瀏覽器的 window
, 所有 DOM 物件
typeof
typeof 20 //'number'
typeof '20' //'string'
typeof true //'boolean'
typeof {} //'object'
typeof null //'object'
typeof function(){} //'function'
typeof 會以字串的方式回傳資料類型,讓我們可以判斷目前變數的資料類型
isNaN
判斷 NaN 的唯一寫法
number.isNaN(NaN)