平時在複習JS基礎知識時,經常會遇到JS資料型別、基礎資料型別、內建物件、包裝型別物件,檢測資料型別時,用到的typeof
值,感覺都差不多,但是又有差異。今天特地整理下,方便理解。
JS資料型別
基礎資料型別和引用資料型別
- JS資料型別分為 基礎資料型別 和 引用資料型別
- 基礎資料型別又分為
undefined
null
boolean
number
string
- 引用資料型別即
object
為什麼程式語言要有資料型別 概念
一句話概括的話,就是JS資料型別,是對外的,是面向JS編譯器的,定義編譯器對相應型別的處理方式
;
具體參考 為什麼程式語言的都要定義資料型別
JS內建物件
JS內建物件 包含 Boolean
String
Number
Array
Function
Date
Math
Object
RegExp
Error
Global
包裝型別物件
JS內建物件包含包裝型別物件,包裝型別物件 指的是 Boolean
String
Number
三個內建物件
為什麼會有JS內建物件 概念
一句話概括的話,就是JS內建物件,是對內的,是指這個語言自帶的一些物件,供開發者使用,這些物件提供了一些常用的或是最基本而必要的功能
。
typeof值
typeof
是用來判斷資料型別的,其中它的值有undefined
boolean
number
string
function
symbol
object
;
JS內建物件和JS資料型別關係
JS資料型別是對外的,面對編譯器;JS內建物件是對內的,日常程式設計與我們打交道最多的,其實是JS內建物件。至於包裝資料型別物件的特點,可以參考 輕鬆理解JS基本包裝物件,打個比方就是:
JS就像一個國家,平時對外交流(與JS編譯器交流),由6位副總統(JS基本資料型別,undefined null boolean number string object)去操作。
其中,undefined副總統、null副總統年老體衰,平時掌管的國家事務不多。
object副總統能力比較強,下設了11位部長(JS內建物件),平時國內治理(前端日常開發)由這些部長執行。
另外,boolean副總統、number副總統、string副總統,平時施政時,必須由Boolean部長、Number部長、String部長三位部長(包裝型別物件)輔助,命令才能正常實行。
當然,Boolean部長、Number部長、String部長三位部長也可以單獨執行,繞過三位副總統。
typeof
值與JS資料型別關係
對比下圖,即可知typeof
值 相較於 JS基礎資料型別 少null多function