首頁常見問題正文

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

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

IT培訓(xùn)班

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

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檢測 null 值時(shí)返回的是 object,而不是 null,這是 JavaScript 最初實(shí)現(xiàn)時(shí)的歷史遺留問題,后來被ECMAScript沿用下來。

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

var age= prompt請輸人您的年齡);
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)算符“==”來判斷typeof返回的檢測結(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)常會遇到字面量的概念。字面量是指源代碼中的固定值的表示法,簡單來說,就是用字面量來表示如何在代碼中表達(dá)這個(gè)值。通過字面量,我們可以很容易地看出來它是哪種類型的值。常見的字面量如下。

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


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