JavaScript 如何判斷一個數據的類型


JavaScript的數據類型: (參考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Data_structures)

  原始類型(6種):Number、String、Boolean、Null、Undefined、Symbol(in es6)
  和Object

 

使用:

  JavaScript 是一種弱類型語言,可以在聲明時不用聲明類型,在程序運行過程中類型會被自動確定,可以同一個變量保存不同類型的數據。

  這也導致了一個問題,在判斷數據類型時會出現類型不精確的情況,導致判斷出現問題。

判斷數據類型:

1.typeof 操作符返回一個字符串,表示未經計算的操作數的類型
在使用typeof 判斷數據類型時,常常返回以下字符串(隱式聲明,不使用new 聲明)
Undefined 'undefined'
Null  'object'
Number  'number'
String  'string'
Boolean  'boolean'
Symbol  'symbol'
函數對象  'function'
宿主對象(由JS環境提供)  Implementation-dependent
任何其他對象  'object'
注意:
  在某些顯示聲明情況下,通常返回 'object' 例如: new String('asd')、 new Number('1')、new Boolean('0')
  在ie6、7、8上,很多宿主對象 返回對象而不是函數 例如 alert等

 

判斷對象類型:

在使用JavaScript時,有時需要判斷一個對象的精准類型,例如 Array,在判斷Array等是否為指定數據類型時, 使用typeof 無法進行判斷,這時可以 使用 Object.prototype.toString.call(target)  返回 '[object Array]'

 

判斷是否為某個構造函數的實例:

vm instanceof constructor

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM