JavaScript 检测数据类型方式
创始人
2025-06-01 04:04:47
0

文章目录

  • JavaScript 检测数据类型方式
    • typeof
    • instanceof
    • constructor
    • Object.prototype.toString

JavaScript 检测数据类型方式

检测数据类型方式:

  • typeof
  • instanceof
  • constructor
  • Object.prototype.toString

typeof

获取变量的类型,返回一个字符串。

缺点:typeof对于数值、对象、null都返回object类型。

console.log(typeof 10); //number
console.log(typeof true); //boolean
console.log(typeof "hello"); //string
console.log(typeof []); //object
console.log(typeof function() {}); //function
console.log(typeof {}); //object
console.log(typeof undefined); //undefined
console.log(typeof null); //object

instanceof

用于判断一个对象是否属于类或构造函数的实例。

缺点:不能判断基本类型。

console.log(10 instanceof Number); //false
console.log(true instanceof Boolean); //false 
console.log("hello" instanceof String); //false
console.log([] instanceof Array); //true
console.log(function() {} instanceof Function); //true
console.log({} instanceof Object); //true

constructor

获取变量的构造函数从而判断数据类型。

缺点:不能判断null和undefined。

console.log((10).constructor === Number); //true
console.log((true).constructor === Boolean); //true
console.log(("hello").constructor === String); //true
console.log(([]).constructor === Array); //true
console.log((function() {}).constructor === Function); //true
console.log(({}).constructor === Object); //true

Object.prototype.toString

通过Object.prototype.toString.call()返回一个字符串。

这种方式可以准确地判断对象和基本类型的类型。

var a = Object.prototype.toString;
console.log(a.call(10)); //[object Number]
console.log(a.call(true)); //[object Boolean]
console.log(a.call("你好")); //[object String]
console.log(a.call([])); //[object Array]
console.log(a.call(function() {})); //[object Function]
console.log(a.call({})); //[object Object]
console.log(a.call(undefined)); //[object Undefined]
console.log(a.call(null)); //[object Null]

相关内容

热门资讯

投资收益率排名垫底,中国太保更... 2025年最后一天,中国太保更换了首席投资官。12月31日,中国太保发布公告称,经董事会审议通过,同...
芯片股集体走强,华虹半导体盘中... 新京报贝壳财经讯 1月2日,港股芯片股集体走强,其中,华虹半导体盘中涨超9%,芯智控股盘中涨近5%,...
晓数点丨2025年十大牛股出炉... 2025年,沪指报收3968.84点,全年收涨18.41%,年内时隔十年重回4000点;创业板指全年...
复盘2025!公募基金四大痛点... 编者按:2025年,随着一系列改革举措加速落地见效,公募基金行业的高质量发展成色持续提升。岁末年初,...
斯基拉爆料:迈尼昂接近与米兰续... 新年伊始,对于AC米兰的球迷们来说,没有什么比听到主力门将迈尼昂即将续约的消息更令人振奋了。据知名记...
最新!美国对部分跨境汇款征收1... 据央视新闻,当地时间2026年1月1日,美国针对部分跨境汇款的新税收措施正式生效。根据美国财政部和美...
印度1亿烟民新年噩耗,香烟每千... 印度政府对香烟加征新税,导致该国烟草类股周四遭遇重挫,市场领军企业印度烟草公司ITC股价创近六年来最...
郭芙蓉欠的48两,放现在值多少... 关注混知财经并回复下方词条,就能找到你想知道的答案!
百度:拟分拆昆仑芯于港交所主板... 百度集团在港交所公告,1月1日,昆仑芯已透过其联席保荐人以保密形式向香港联交所提交上市申请表格(A1...
500ml飞天茅台正式上线i茅... 2025年12月31日,贵州茅台通过“i茅台”平台宣布,自2026年1月1日起,53度500ml飞天...