千万不要再用错了这个 Lodash 方法了!可能酿成大祸!

说回来 isObject​,我为什么看到这个方法我就心慌呢?因为以前踩过坑,很多人一直认为isObject是用来判断对象类型的,其实他们认为的也没错,但是他们可能没好好看 Lodash 的文档。

前言

前几天接手了一个项目,发现有一个 Lodash 的方法在项目里用的非常多!那就是 isObject 这个方法!

我一看到这个方法我就害怕,马上去找了之前开发这个项目的前端,以下是跟他的对话:

  • 我:大佬,你知道 Lodash 的 isObject 是干啥用的吗?
  • 他说:就是判断一个值是否是一个对象类型。
  • 我:那数组、函数 这些算不算对象呢?
  • 他说:应该。。应该不算吧?
  • 我:。。。。。。。

我去翻了翻组内其他项目的代码,发现只要是判断普通对象的类型的,都用的是 isObject !!!!!!

说回 isObject

说回来 isObject,我为什么看到这个方法我就心慌呢?因为以前踩过坑,很多人一直认为isObject是用来判断对象类型的,其实他们认为的也没错,但是他们可能没好好看 Lodash 的文档。

图片

图片

文档写着:检查 value 是否为 Object 的language type。(例如: arrays, functions, objects, regexes,new Number(0), 以及 new String(''))。

图片

图片

现在知道问题出在哪了吧?大部分人都认为:判断普通对象可以使用 isObject 来判断。

但其实这么认为是不对的,因为isObject检测后返回 true 的类型,可不止普通对象哦!

isPlanObject

如果你想要判断一个值是否为普通对象,可以使用 isPlanObject。

图片

图片

这样才能达到我们想要的目的。

图片

图片

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗者才子酒中仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值