? ? ? ? js是一門弱語(yǔ)言插掂,它在聲明變量時(shí)無(wú)需確定變量的類型董朝,js在運(yùn)行時(shí)會(huì)自動(dòng)判斷鸠项。那么如何判斷一個(gè)變量的類型呢,js提供了typeof運(yùn)算符子姜,用來(lái)檢測(cè)一個(gè)變量的類型祟绊。
1. typeof的語(yǔ)法
? ? typeof是一個(gè)運(yùn)算符,有2種使用方式:typeof(表達(dá)式)和typeof 變量名闲询,第一種是對(duì)表達(dá)式做運(yùn)算久免,第二種是對(duì)變量做運(yùn)算。
2. typeof的返回值
? ? typeof運(yùn)算符的返回類型為字符串扭弧,值包括如下幾種:
? ? ? ? 1. 'undefined'? ? ? ? ? ? ? --未定義的變量或值
? ? ? ? 2. 'boolean'? ? ? ? ? ? ? ? ?--布爾類型的變量或值
? ? ? ? 3. 'string'? ? ? ? ? ? ? ? ? ? ?--字符串類型的變量或值
? ? ? ? 4. 'number'? ? ? ? ? ? ? ? ??--數(shù)字類型的變量或值
? ? ? ? 5. 'object'? ? ? ? ? ? ? ? ? ? --對(duì)象類型的變量或值阎姥,或者null(這個(gè)是js歷史遺留問(wèn)題,將null作為object類型處理)
? ? ? ? 6. 'function'? ? ? ? ? ? ? ? ?--函數(shù)類型的變量或值
?3. 簡(jiǎn)單的示例
? ? console.log(typeof a);? ? //'undefined'
? ??console.log(typeof(true));? //'boolean'
? ? console.log(typeof '123');? //'string'
? ? console.log(typeof 123);? ?//'number'
? ??console.log(typeof NaN);? ?//'number'
? ? console.log(typeof null);? //'object'? ??
? ? var obj = new String();
? ? console.log(typeof(obj));? ? //'object'
? ? var? fn = function(){};
? ? console.log(typeof(fn));? //'function'
? ??console.log(typeof(class c{}));? //'function'
? ?????總結(jié):typeof運(yùn)算符用于判斷對(duì)象的類型鸽捻,但是對(duì)于一些創(chuàng)建的對(duì)象呼巴,它們都會(huì)返回'object'泽腮,有時(shí)我們需要判斷該實(shí)例是否為某個(gè)對(duì)象的實(shí)例,那么這個(gè)時(shí)候需要用到instanceof運(yùn)算符衣赶,后續(xù)記錄instanceof運(yùn)算符的相關(guān)用法诊赊。