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

分類

  • 基本(值)類型
    • 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 與 Functioncode

===

只能判斷具備惟一值的類型,即: undefined, null對象


相關問題

一、何時給變量賦值爲null?

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

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

變量自己是沒有類型的, 變量的類型其實是變量內存中數據的類型內存

  • 變量的類型(變量內存值的類型)
    • 基本類型: 保存就是基本類型的數據
    • 引用類型: 保存的是對象的地址值
  • 數據的類型
    • 基本類型
    • 對象類型
相關文章
相關標籤/搜索