JavaScript 是弱型別的程式語言,宣告變數時不需要指明型別,變數的型別由所賦值的型別決定,所以 JavaScript 的資料型別是針對直接量的。資料型別限制了資料可以進行的操作,以及資料在記憶體中占用的空間大小。例如,數位型別的資料可以進行算術、比較等運算,而字串型別的資料可以進行字串連線、排序、子串擷取等運算。
JavaScript 支援的資料型別可分為基本資料型別和參照資料型別(參照資料型別也稱為複雜型別)。其中基本資料型別包含了數位(number)型別、字串(string)型別、布林(boolean)型別、未定義(undefined)型別、空(null)型別;參照資料型別就是物件型別。在 JavaScript 中,陣列、函數都屬於物件型別。
事實上,除了基本資料型別以外的全都是物件型別。資料型別的分類如圖 1 所示。使用 typeof 運算子可以判斷指定值的資料型別(typeof 的用法下節介紹)。
圖 1:資料型別分類