JavaScript 判断一个数据的数据类型,2024年最新绝对干货分享心得体会

console.log(typeof _null) //object

console.log(typeof under) //undefined

console.log(typeof symbol) //symbol

console.log(typeof ary) //object

console.log(typeof obj) //object

console.log(typeof fun) //function

console.log(typeof date) //object

console.log(typeof reg) //object

结果实锤:typeof可以检测出基本数据类型的数据类型**(注意:null的检测结果是‘object’,原因是因为null的定义是 ‘ null是一个只有一个值的特殊类型。表示一个空对象引用 ’)**,引用数据类型除了function可以检测出,其他的都是object。

所以,如果你是简单的判断数据类型,不需要得到详细的类型。这个方法还是方便的。

2,constructor方法

constructor是原型prototype的一个属性,当函数被定义时候,js引擎会为函数添加原型prototype,并且这个prototype中constructor属性指向函数引用。它是用来对比判断某个数据是不是某种类型,是就返回 ‘ true ’ ,否则返回 ‘ false ’;

上代码,看看constructor判断的结果:

//基本数据类型

var str = ‘这是字符串’

var num = 2021

var bool = false

var _null = null

var under

var symbol = Symbol(‘XXX’)

//引用数据类型

var ary = [1,2,3]

var obj = {name:“张三”}

var fun = function () {

console.log(“这是方法”)

}

var date = new Date()

var reg = new RegExp()

console.log(str.constructor == String) //true

console.log(num.constructor == Number) //true

console.log(bool.constructor == Boolean) //true

console.log(_null.constructor == Null) //报错

console.log(under.constructor == Underfined) //报错

console.log(symbol.constructor == Symbol) //true

console.log(ary.constructor == Array) //true

console.log(obj.constructor == Object) //true

console.log(fun.constructor == Function) //true

console.log(date.constructor == Date) //true

console.log(reg.constructor == RegExp) //true

结果实锤:null 和 underfined 没有constructor属性,不能用这个方法判断,但是其他的数据类型都可以判断出来。

所以,没有特殊情况的时候,这个方法比较推荐;

3,instanceof方法

instanceof和constructor一样,也是对比判断。不过,instanceof判断某个数据是不是某个类型的一个实例,是返回 ‘ true ’ ,否则返回 ‘ false ’。

语法: object instanceof constructor ; object要检测的对象。constructor某个构造函数。

上代码,看instanceof的判断结果:

//基本数据类型

var str = ‘这是字符串’

var num = 2021

var bool = false

var _null = null

var under

var symbol = Symbol(‘XXX’)

//引用数据类型

var ary = [1,2,3]

var obj = {name:“张三”}

var fun = function () {

console.log(“这是方法”)

}

var date = new Date()

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

结束

一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

869b91b538dd3bb3290ba13bc806.png)

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-wdaSMmLy-1712675238321)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值