1、數據類型的分類與判斷

分類

  • 基本(值)類型
    • String: 任意字符串
    • Number: 任意的數值,三個特殊值: Infinity, -Infinity, NaN.
    • Boolean: true/false
    • undefined: undefined, 變量聲明未賦值, is reserved as a default initial value for unassigned things.
    • null: null,表示“nothing”, “empty”, “value unknown”.
  • 對象(引用)類型
    • Object: 任意對象
    • Function: 一種特殊的對象(可執行)
    • Array: 一種特殊的對象(數值下標, 內部數據有序)

判斷

typeof

返回數據類型的字符串表達形式(小寫),支持兩種語法:

  • 作爲操作符: typeof x
  • 作爲函數: typeof(x)
typeof undefined // "undefined"
typeof 0 // "number"
typeof 10n // "bigint"
typeof true // "boolean"
typeof "foo" // "string"
typeof Symbol("id") // "symbol" ?
typeof Math // "object"

typeof null // "object", 無法區分 null 與 object 類型
typeof [1,2] // "object", 無法區分 array 與 object 類型
typeof alert // "function",可以區分 function 與 object 類型

instanceof

專門用來判斷對象數據的類型: Object, Array 與 Function

===

只能判斷具有唯一值的類型,即: undefined, null


相關問題

1、什麼時候給變量賦值爲null?

  • var a = null //初始賦值, 表明將要賦值爲對象
  • a = null //結束前, 讓對象成爲垃圾對象(被垃圾回收器回收)

2、嚴格區別變量類型與數據類型?

變量本身是沒有類型的, 變量的類型實際上是變量內存中數據的類型

  • 變量的類型(變量內存值的類型)
    • 基本類型: 保存就是基本類型的數據
    • 引用類型: 保存的是對象的地址值
  • 數據的類型
    • 基本類型
    • 對象類型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章