首頁(yè)常見(jiàn)問(wèn)題正文

怎樣知道一個(gè)變量或值的數(shù)據(jù)類型?

更新時(shí)間:2023-06-16 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

在開(kāi)發(fā)中,當(dāng)不確定一個(gè)變量或值是什么數(shù)據(jù)類型的時(shí)候,可以利用 typeof 運(yùn)算符進(jìn)行數(shù)據(jù)類型檢測(cè)。示例代碼如下。

console.log(typeof 12);               // 輸出結(jié)果:number
console.log(typeof!12');              // 輸出結(jié)果:string
console.log(typeof true);             // 輸出結(jié)果:boolean
console.log (typeof undefined) ;      // 輸出結(jié)果:undefined
console.log(typeof null);             // 輸出結(jié)果 :object

在上述示例中,typeof檢測(cè) null 值時(shí)返回的是 object,而不是 null,這是 JavaScript 最初實(shí)現(xiàn)時(shí)的歷史遺留問(wèn)題,后來(lái)被ECMAScript沿用下來(lái)。

使用typeof可以很方便地檢測(cè)變量的數(shù)據(jù)類型,示例代碼如下。

var age= prompt請(qǐng)輸人您的年齡);
console.og(age)
console.log(typeof age);

上述代碼執(zhí)行后,如果用戶什么都不輸入,單擊“確定”按鈕,則age 的值為空字符串類型為string;如果單擊“取消”按鈕,則age的值為null,類型為  object;如果輸入的是-個(gè)數(shù)字,則age的值是用字符串保存的數(shù)字,類型為string。

typeof運(yùn)算符的返回結(jié)果是一個(gè)字符串,可以使用比較運(yùn)算符“==”來(lái)判斷typeof返回的檢測(cè)結(jié)果是否符合預(yù)期,示例代碼如下。

vara=112';
console.log(typeof a==istring');      // 輸出結(jié)果 :true
console.log(typeof a== inumber');     // 輸出結(jié)果:false

在上述代碼中,“typeofa”的返回結(jié)果是string,在與字符串string 比較時(shí),結(jié)果為true,表示a是string類型;與number 比較時(shí),結(jié)果為false,表示a不是number類型。

字面量

在閱讀JavaScript 的一些教程、文檔時(shí),我們經(jīng)常會(huì)遇到字面量的概念。字面量是指源代碼中的固定值的表示法,簡(jiǎn)單來(lái)說(shuō),就是用字面量來(lái)表示如何在代碼中表達(dá)這個(gè)值。通過(guò)字面量,我們可以很容易地看出來(lái)它是哪種類型的值。常見(jiàn)的字面量如下。

數(shù)字字面量:8、9、10
字符串字面量:!hello'、"world"
布爾字面量:true、false
數(shù)組字面量(在后面會(huì)學(xué)到):[1,2,3]
對(duì)象字面量(在后面會(huì)學(xué)到):{ name:·小明,age:18 }


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!