Lodash 真的死了吗?Lodash 5 在哪里?

news2024/11/25 18:50:23

与一些传言相反,Lodash依然活跃,并正在迈向Lodash 5的发布!

Lodash 是那些为 JavaScript 提供便利功能的实用程序库之一,它使编程变得更加轻松。许多开发者使用它来简化对象和数组的处理。

它也是一个像 Moment.js那样被捕获得措手不及的库。由于没有模块化,它从一些项目中被丢弃,因为当你加载5MB的分析工具时,每多1kB的负担都太大了。

我偶尔使用 Lodash,因为它很有用,并且我发现它很有帮助。但惊讶地发现了Daniel Roe的这条推文:

f321b6d48fa1ece1232fefb12778be6b.png

必须读两次,因为仅仅浏览这条推文会让你相信 Lodash 已经死亡。

实际上,Daniel 写道在他发那条推文时没有新的问题反馈。

但你可以从推文中感受到对 Lodash 的一些反感,因为它的措辞暗示着 Lodash 已经死亡。

在随后的推文中,他澄清说没有问题反馈可能是为了准备发布Lodash 5:

43d21aad1c720032c9ab1dcad73124e9.png

为什么我们会看到关于这个流行库的如此模糊的推文?

我发现的是,原计划在2021年发布 Lodash 5。

然而,现在是2023年,Lodash 5 的发布已经延迟了两年。该版本的更改清单非常重要,主要侧重于减小大小和模块化,这些问题使得Lodash在一些团队中逐渐沉没。

所以,这个路线图非常明确,当Lodash 5发布时,它将能够再次展现它的真正用途。

我不知道为什么它会延迟。但有时这种情况确实会发生。没什么大不了的。没有理由不喜欢它。

然后,作者偶然发现了这个关于省略函数的主题。Omit 函数是删除对象不必要属性的一种方法。它的用处在于可以一次删除多个属性,还可以删除深层属性,例如 car.tires.size

为了准备这些对意外数据过敏的API端点的数据,这非常方便。

但是,根据路线图,Lodash 5 将取消这一功能。看起来对于一些人来说,这真的很重要。但是,五年前,这成为了设计决策的一部分,开发者被告知他们对此没有发言权:

3f1e2c61486f993b0c652856dd6cf26e.png

并说明原因:

它必须引入所有属性(继承的和自己的可枚举字符串键属性和符号),然后排除少量属性。另一方面,_.pick_.pickBy 是显式的。只需选择你想要的内容,无需大费周章。

我不知道这是不是反感的来源,但肯定有一些开发者不喜欢这个实用程序库决定他们应该如何编码。

罗伯特-登普西(Robert Dempsey)撰写了一篇很棒的文章,对 omit 功能的所有可能替代方案进行了分析,得出如下结论:

如果你需要省略扁平路径, 建议安装Lodash 4+单独用于省略功能,同时使用Lodash 5+进行其他操作。

Robert 所做的研究得出的结论确实很有根据。这让我们得出的结论是使用pick,或pickBy,或者在Lodash 5发布时安装两个版本的Lodash。

尽管我们知道选择属性与删除它们不同。因为对于大型对象,选择是逆生产的。

总之,一些开发者,一些忠实的Lodash开发者,将不得不安装两个版本,因为一个设计决策。

我还了解到,omit 功能的运行速度很慢,这可能是删除该功能的原因。

Robert 所做的研究显示了一些有前途的替代方案。但也明确表示,这个功能对于人们来说是有用的。所以,即使它不是超级快,对于人们来说也足够了。

当我处理一个数据时,我不太关心它多用了1毫秒,因为我知道调用API的时间都要花费500毫秒。💀

另一方面,在某些情况下可能会太慢,但这就是性能测试的任务。

不过,作者也理解当今方正公司规则的设计决定。在这种情况下,因为有人可能会错误地使用一个函数而放弃一个库,或者干脆放弃这个函数,都比解释如何正确使用它要容易得多。

作者也理解这个决定可能是基于需要优化库在所有情况下的运行速度和推广最佳实践,同时与实用性保持良好的平衡。

说了这么多,这只说明在受欢迎的库周围做决策是多么的棘手。不能让每个人都满意。

作者个人会保留这个功能,并尽量提高其速度,同时在文档中添加一些说明。

无论如何,事实上,Lodash团队实际上使用了“Issue bankruptcy”标签来描述已关闭的问题。

41a1ab22e4457e1970754bd8f4c34bc2.png

Lodash仍然活跃,有一天我们会看到Lodash 5,这是许多开发者期待的东西。

欢迎长按图片加刷碗智为好友,定时分享 Vue React Ts 等。

7457ed6e384f1eba9e244e2080af63e7.png

最后:

vue2与vue3技巧合集

VueUse源码解读

b14449d24b233b96d50900ca8fe018a1.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年汉字小达人区级比赛出结果了,快来收奖状以及市级备考建议

盼望着,盼望着,盼望着... 终于等到了2023年第十届上海市小学生汉字小达人区级比赛的结果。 今天上午,汉字小达人主办方在中文自修杂志社官网公布了两个通知:“中文自修杯”第十届上海市小学生 “美丽汉字小达人”活动区级活动“…

《Webpack 5 基础配置》- 禁止在出现编译错误或警告时,覆盖浏览器全屏显示

Webpack5 overlay 配置地址默认编译错误或警告为 true,即浏览器全屏显示;overlay 属性可以是 boolean 型,也可是 object 类型;还有其它设置说明,详见上述官网地址; module.exports {devServer: {client: {…

PLSql调试问题解析

最近因为工作问题需要弄一个Orale数据库导出Dmp文件,直接命令行执行很麻烦,于是用PLSql来操作,在配置链接的过程中遇到很多问题,下面把问题及解决方法贴在这里记录一下 1、ORA-12504:TNS:监听程序在CONNEC…

前端工程师的摸鱼日常(20)

今年一整年状态都不怎么好,所以别说摸鱼文了,其他技术文章都没写几篇,发生的事情有点多,无暇顾及这些,当然最主要的一个原因还是因为懒! 有很多时候我都觉得人的大脑是单线程的,在处理一件事情…

大厂信息泄露-漏洞复现

目录 大唐电信AC简介 资产收集 漏洞复现 修复建议 免费领取安全学习资料包!(私聊进群一起学习,共同进步)​编辑 大唐电信AC简介 大唐电信科技股份有限公司是电信科学技术研究院(大唐电信科技产业集团&#xff09…

ffmpeg 截取命令

从00:00:03.500开始截取往后长度到结尾的mp3音频(这个更有用,测试好用) ffmpeg -i d:/c.mp3 -ss 00:00:03.500 d:/output.mp3 将两个音频合并成一个音频(测试好用) ffmpeg -i "concat:d:/c.mp3|d:/output.mp3&…

排水车发动机拆装vr虚拟训练仿真系统提高学员技能水平

VR吸污车操作实训系统是一种利用vr虚拟现实技术模拟吸污车操作环境的培训工具,受训员工通过佩戴VR头显设备,进入一个虚拟的环境,模拟实际的吸污车工作场景并且模拟交互操作。不仅可以避免真实环境中的安全风险,还可以更加灵活地进…

基于ubuntu20.04 环境跑通LIO_SAM重定位

link 序言 作为LOAM重要的一个变种,LIO_SAM基本上算是这个系列里面知识点最全面。这个软件框架包含了去畸变、特征点提取(角点、平面点)、前端、后端、回环,同时软件框架还融合了IMU信息,可以配置融合GPS信息。当然这种…

鲲鹏920(kylinV10)安装虚拟化工具kvm

目录 准备工作 安装 大致流程 具体步骤 安装 界面工具 virt-manager 创建虚拟机流程 点击创建虚拟机 可能出现的问题 问题1 问题2 问题3 准备工作 关闭防火墙 systemctl stop firewalld && systemctl disable firewalld 关闭selinux sed -i s/enforcing…

从0开始搭建一个APP:compose搬砖的一天

无论是从各个大佬的书籍还是blog,大的方向还是翻了一遍,个人感觉,compose 是UI解决方案这种定义和Android离得特别远,像Android 的应用端的大多数工作量还是在UI开发上,flutter 也差不多,结合Kotlin的开发经验&#xf…

统计学习方法 逻辑斯蒂回归与最大熵模型

文章目录 统计学习方法 逻辑斯蒂回归与最大熵模型逻辑斯蒂回归逻辑斯蒂分布二项逻辑斯蒂回归多项逻辑斯蒂回归 最大熵模型原理定义学习极大似然估计 统计学习方法 逻辑斯蒂回归与最大熵模型 学习李航的《统计学习方法》时,关于逻辑斯蒂回归与最大熵模型的笔记。 逻…

【1】2023版密评算分工具

0X01 前言 工具根据商用密码应用安全性评估量化评估规则(2023年8月1日实施)实现 0x02 工具功能介绍 给定D A K的打分结果,计算单个测评对象和测评单元得分。根据测评单元得分计算测评层面得分根据测评层面得分计算报告整体得分配置文件说明…

美国亚马逊站暖手宝、热袜子、加热器UL499安全审核测试

近很多客户过来咨询,亚马逊上有人投诉产品起火,亚马逊要求提供UL报告,怎么办?特别是电池产品,很多卖家不约而同的提出同样的问题。不要着急,我司已经处理过很多类似产品,为很多商家提供了相应的报告&#…

【每日OJ题 —— 876. 链表的中间结点(链表)】

每日OJ题 —— 876. 链表的中间结点(链表) 1.题目: 876. 链表的中间结点2.方法讲解2.1.解法2.1.1.图文解析2.1.2.代码实现2.1.3.提交结果展示 1.题目: 876. 链表的中间结点 2.方法讲解 2.1.解法 2.1.1.图文解析 题解思路&#x…

ks ios快手极速版、概念版、创作版sig sig3

风控: 快手除了正版下,还有极速版,概念版,创作版。 然而看了下概念版还是风控比正版要低的多~ 抓包: 对于快手的ios版本抓包很简单,直接vpn转发抓包方式即可,不可用代理抓包;这个…

一款优秀的低代码平台应具备哪些能力?

低代码开发平台是一种基于低代码概念而研发出来的产品,是指无代码或少量代码就可以快速生成应用程序的平台。这类平台通过拼装可重复使用的组件,使开发人员可以通过可视化的工作界面快速设计应用,以解决传统软件开发模式周期长、成本高的问题…

LVGL库入门 04 - 颜色与图像

1、颜色 1.1、构造颜色 在 LVGL 中,颜色以结构 lv_color_t 表示。在最开始移植整个工程时,曾经在 lv_conf.h 中修改过颜色深度: /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ #define LV_COLOR_DEPTH …

使用 javascript 在 n*m 网格中演示 BFS 广度优先搜索算法在带权重图中求最短路径

普通的广度优先最短路径搜索算法只能解决无权重的图: 求出的最短路径没问题,但是如果上边的空缺格子的距离为100呢?这种方式搜出的最短路径可能就是错的: 我们可以找一个距离1作为基本距离,然后距离为100的格子在搜索时…

[免费] 适用于 Windows的10 的十大数据恢复软件

Windows 10是微软开发的跨平台和设备应用程序的操作系统。它启动速度更快,具有熟悉且扩展的“开始”菜单,甚至可以在多种设备上以新的方式工作。所以,Windows 10非常流行,我们用它来保存我们的照片、音乐、文档和更多文件。但有时…

高效剪辑:视频剪辑新手如何批量分割视频

随着社交媒体和自媒体的兴起,视频剪辑已经成为一项必备的技能。无论是制作自己的电影、视频博客,还是为广告宣传提供支持,高效地剪辑视频都是非常重要的。对于视频剪辑新手来说,了解如何批量分割视频是提高剪辑效率的关键。本文讲…