当前位置:首页 > 科技  > 软件

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

来源: 责编: 时间:2024-06-27 17:20:11 224观看
导读前言大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心!前几天接手了一个项目,发现有一个 Lodash 的方法在项目里用的非常多!那就是 isObject 这个方法!我一看到这个方法我就害怕,马

前言

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心!Ddq28资讯网——每日最新资讯28at.com

前几天接手了一个项目,发现有一个 Lodash 的方法在项目里用的非常多!那就是 isObject 这个方法!Ddq28资讯网——每日最新资讯28at.com

我一看到这个方法我就害怕,马上去找了之前开发这个项目的前端,以下是跟他的对话:Ddq28资讯网——每日最新资讯28at.com

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

我去翻了翻组内其他项目的代码,发现只要是判断普通对象的类型的,都用的是 isObject !!!!!!Ddq28资讯网——每日最新资讯28at.com

万物皆对象

我们在学习 JavaScript 基础的时候会听到这么一句话万物皆对象,其实这不是没有道理的,看过原型链图的会比较理解这句话。Ddq28资讯网——每日最新资讯28at.com

图片图片Ddq28资讯网——每日最新资讯28at.com

Ddq28资讯网——每日最新资讯28at.com

说回 isObject

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

图片图片Ddq28资讯网——每日最新资讯28at.com

Ddq28资讯网——每日最新资讯28at.com

文档写着:检查 value 是否为 Object 的language type。(例如: arrays, functions, objects, regexes,new Number(0), 以及 new String(''))。Ddq28资讯网——每日最新资讯28at.com

图片图片Ddq28资讯网——每日最新资讯28at.com

Ddq28资讯网——每日最新资讯28at.com

现在知道问题出在哪了吧?大部分人都认为:判断普通对象可以使用 isObject 来判断。Ddq28资讯网——每日最新资讯28at.com

但其实这么认为是不对的,因为isObject检测后返回 true 的类型,可不止普通对象哦!Ddq28资讯网——每日最新资讯28at.com

isPlanObject

如果你想要判断一个值是否为普通对象,可以使用 isPlanObject。Ddq28资讯网——每日最新资讯28at.com

图片图片Ddq28资讯网——每日最新资讯28at.com

Ddq28资讯网——每日最新资讯28at.com

这样才能达到我们想要的目的。Ddq28资讯网——每日最新资讯28at.com

图片 图片 Ddq28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-96996-0.html千万不要再用错了这个 Lodash 方法了!可能酿成大祸!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: OpenTelemetry 深度定制:跨服务追踪的实战技巧

下一篇: Library Cache Hash Bucket与共享池闩锁争用问题

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • AMD的AI芯片转单给三星可能性不大 与台积电已合作至2nm制程

    据 DIGITIMES 消息,英伟达 AI GPU 出货逐季飙升,接下来 AMD MI 300 系列将在第 4 季底量产。而半导体业内人士表示,近日传出 AMD 的 AI 芯片将转单给
  • OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    5月24日,OPPO推出了全新的OPPO Reno 10系列,包含OPPO Reno10、OPPO Reno10 Pro和OPPO Reno10 Pro+三款新机,全系标配了超光影长焦镜头,是迄今为止拍照
  • 联想YOGA 16s 2022笔记本将要推出,屏幕支持触控功能

    联想此前宣布,将于11月2日19:30召开联想秋季轻薄新品发布会,推出联想 YOGA 16s 2022 笔记本等新品。官方称,YOGA 16s 2022 笔记本将搭载 16 英寸屏幕,并且是一
Top