JS 判斷資料型別

2022-09-21 05:39:11 字數 1863 閱讀 5102

眾所周知js的資料型別原來有七種,es2020 引入了一種新的資料型別 bigint(大整數),所以共有8種

/**5個基本**/

console.log(typeof 'str') // > string

console.log(typeof 1) // > number

console.log(typeof true) // > boolean

console.log(typeof symbol()) // > symbol

console.log(typeof 123n) // > bigint

/**2個空**/

/*undefined未定義,變數不存在或者變數定義後沒賦值*/

console.log(typeof undefined) // > undefined

/*null*/存在變數,但是值被賦予了null(空)

console.log(typeof null) // > object

/**物件型別**/

console.log(typeof {}) // > object

console.log(typeof ) // > object

console.log(typeof function(){}) // > function

可以看到,對於5個基本型別和undefined使用時效果正常,其他都效果不佳。

let [

string,

number,

boolean,

symbol,

bigint,

unde,

nu,object,

array,

fun

] =

['string',

1,true,

symbol(),

123n,

undefined,

null,

{},,

function(){}]

let value = [string,number,boolean,symbol,bigint,unde,nu,object,array,fun]

value.foreach((ele) => )

// [object string]

// [object number]

// [object boolean]

// [object symbol]

// [object bigint]

// [object undefined]

// [object null]

// [object object]

// [object array]

// [object function]

我們可以看到,object.prototype.tostring.call()的方法返回的字串可以穩定的得出是何種資料型別。

console.log(object instanceof object) 

console.log(fun instanceof function)

console.log(array instanceof array)

// 都為true

只能用於物件型別的判斷

console.log(array.constructor === array)  // true

console.log(object.constructor === object) // true

console.log(fun.constructor === function) // true

也可以對date日期等型別使用。

js判斷資料型別

1 typeof 形如 var x xx typeof x string 返回型別有 undefined string number boolean function object 缺點 對於object型別不能細分是什麼型別 優點 對空null的判斷 undefined 的應用 2 instanc...

js判斷資料型別

了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...

js判斷資料型別

1 判斷是否為陣列型別 2 判斷是否為字串型別 3 判斷是否為數值型別 isnan 變數 如果為true就是數字型別 注意這個函式一般針對數字型別來判斷是否值為nan,若變數為非數字型別,則先轉化為數字型別再做判斷,用此函式時,別忘考慮空串和空格 這倆轉化為數字是0 4 判斷是否為日期型別 5 判斷...