筆者今天翻看《你不知道的js》液兽;突然記不太清typeof的返回值具體有哪些。寫個(gè)筆記記錄一下缔御。
typeof 運(yùn)算符把類型信息當(dāng)作字符串返回蚜枢。
我們可以使用typeof來(lái)獲取一個(gè)變量是否存在,如if(typeof a!="undefined"){}
壶运,而不要去使用if(a)
因?yàn)槿绻鸻不存在(未聲明)則會(huì)出錯(cuò)耐齐,對(duì)于Array,Null等特殊對(duì)象使用typeof一律返回object,這正是typeof的局限性蒋情。
typeof的返回值
typeof有6種可能返回的返回值:
- 'string' --字符串類型的變量或值
- 'undefined' ----未定義的變量或值
- 'boolen' --布爾類型的變量或值
- 'number'--數(shù)字類型的變量或值
- 'object' --對(duì)象類型的變量或值埠况,或者null,Array
- 'function'--函數(shù)類型的變量或值
例子
console.log('1',typeof 'aixoaxue')
console.log('2',typeof undefined)
console.log('3',typeof true)
console.log('4',typeof 23)
console.log('5',typeof {a:'45'})
console.log('6',typeof function () {
})
總的來(lái)說(shuō),typeof會(huì)返回6種類型棵癣;對(duì)于object
我們需要進(jìn)一步判斷的辕翰,就需要用到instanceof