已帮助数百位同学拿到了中大厂
offer
前言
大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~
前几天接手了一个项目,发现有一个 Lodash 的方法在项目里用的非常多!那就是
isObject
这个方法~
我一看到这个方法我就害怕,马上去找了之前开发这个项目的前端,以下是跟他的对话:
我:大佬,你知道 Lodash 的
isObject
是干啥用的吗?
他说:就是判断一个值是否是一个对象类型
我:那
数组、函数
这些算不算对象呢?
他说:应该。。应该不算吧?
我:。。。。。。。
我去翻了翻组内其他项目的代码,发现只要是判断普通对象的类型的,都用的是
isObject
!!!!!!
万物皆对象
我们在学习 JavaScript 基础的时候会听到这么一句话 万物皆对象 ,其实这不是没有道理的,看过原型链图的会比较理解这句话
说回 isObject
说回来
isObject
,我为什么看到这个方法我就心慌呢?因为以前踩过坑,很多人一直认为
isObject
是用来判断对象类型的,其实他们认为的也没错,但是他们可能没好好看 Lodash 的文档
文档写着:检查 value 是否为 Object 的
language type
。(例如:
arrays, functions, objects, regexes,new Number(0), 以及 new String('')
)
现在知道问题出在哪了吧?大部分人都认为: 判断普通对象可以使用 isObject 来判断
但其实这么认为是不对的,因为
isObject
检测后返回 true 的类型,可不止普通对象哦~
isPlanObject
如果你想要判断一个值是否为普通对象,可以使用
isPlanObject
这样才能达到我们想要的目的~
结语
我是林三心
一个待过 小型toG型外包公司、大型外包公司、小公司、潜力型创业公司、大公司 的作死型前端选手;
一个偏前端的全干工程师;
一个不正经的掘金作者;
逗比的B站up主;
不帅的小红书博主;
喜欢打铁的篮球菜鸟;
喜欢历史的乏味少年;
喜欢rap的五音不全弱鸡如果你想一起学习前端,一起摸鱼,一起研究简历优化,一起研究面试进步,一起交流历史音乐篮球rap,可以来俺的摸鱼学习群哈哈,点这个,有7000多名前端小伙伴在等着一起学习哦 --> 摸鱼沸点
结语
我是林三心,感谢您的阅读~
1v1私教、找工作、全程陪跑、终身服务
。
可直接加 Sunday老师 微信沟通,回复【资料】可直接领取 Sunday独家整理 大厂面试题、大厂真实面经 :