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

千万不要再用错了这个 Lodash 方法了!可能酿成大祸!前几天接手了一个项目 发现有一个 Lodash 的方法在项目里用的非常多 那就是 isObject 这个方法 我一看到这个方法我就害怕 马上去找了之前开发这个项目的前端 以下是跟他的对话 我 大佬 你知道 Lodash 的 isObject

大家好,欢迎来到IT知识分享网。

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

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

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

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

万物皆对象

我们在学习 JavaScript 基础的时候会听到这么一句话万物皆对象,其实这不是没有道理的,看过原型链图的会比较理解这句话

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

说回 isObject

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

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

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

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

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

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

isPlanObject

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

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

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

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/97312.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信