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

与一些传言相反,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.mzph.cn/news/129155.shtml

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

相关文章

【WSL/WSL 2-Redis】解决Windows家庭版/教育版无法安装WSL Ubuntu子系统与Redis安装

前言 在现代计算环境中,开发人员和技术爱好者通常需要在不同的操作系统之间切换,以便利用各种工具和应用程序。在这方面,Windows用户可能发现WSL(Windows Subsystem for Linux)是一个强大的工具,它允许他们…

文件上传漏洞实战getshell

目录 0x01 信息收集 0x02 寻找接口 0x03 拼接路径 0x04 权限 0x01 信息收集 通过fofa,子域名收集等相关工具搜索域名 定位到站点:htps://xx..edu.cn/x/xx/ 0x02 寻找接口 通过f12寻找相关的js,发现有其他的页面 0x03 拼接路径 https://xx…

Android开发知识学习——从Retrofit原理来看HTTP

文章目录 Retrofit 使用方法简介Retrofit 源码结构总结扔物线读源码的思路与方式 Retrofit 使用方法简介 导包 implementation com.squareup.retrofit2:retrofit:最新版本创建一个 interface 作为 Web Service 的请求集合,在里面用注解 (Annotation&…

jeecg-uniapp 转成小程序的过程 以及报错 uniapp点击事件

uniapp 点击事件 tap: 单击事件 confirm: 回车事件 blur:失去焦点事件 touchstart: 触摸开始事件 touchmove: 触摸移动事件。 touchend: 触摸结束事件。 longpress: 长按事件。 input: 输入框内容变化事件。 change: 表单元素值变化事件。 submit: 表单提交事件。 scroll: 滚动…

“免单优选模式:引爆电商革命,颠覆传统购物体验!“

免单优选模式是一种新型的电商销售模式,其核心理念是通过降低商品售价、设置阶梯式奖励以及利用社交关系链,激发消费者购买欲望,实现销售快速增长。 1、合法合规,不存在多层级奖励。 在免单优选模式中,平台不设置多层…

Maven本地配置获取nexus私服的依赖

场景 Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包: Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包_nexus maven-releases 允许deploy-CSDN博客 在上面讲的是…

Jetcache开启FASTJSON2序列化

为什么要用Jetcache JetCache是一个基于Java的缓存系统封装,它提供统一的API和注解来简化缓存的使用。JetCache比SpringCache更强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。 以前使用红薯…

Android ConstraintLayout分组堆叠圆角ShapeableImageView

Android ConstraintLayout分组堆叠圆角ShapeableImageView <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"…

【网络协议】聊聊TCP如何做到可靠传输的

网络是不可靠的&#xff0c;所以在TCP协议中通过各种算法等机制保证数据传输的可靠性。生活中如何保证消息可靠传输的&#xff0c;那么就是采用一发一收的方式&#xff0c;但是这样其实效率并不高&#xff0c;所以通常采用的是累计确认或者累计应答。 如何实现一个靠谱的协议&…

chinese_llama_aplaca训练和代码分析

训练细节 ymcui/Chinese-LLaMA-Alpaca Wiki GitHub中文LLaMA&Alpaca大语言模型本地CPU/GPU训练部署 (Chinese LLaMA & Alpaca LLMs) - 训练细节 ymcui/Chinese-LLaMA-Alpaca Wikihttps://github.com/ymcui/Chinese-LLaMA-Alpaca/wiki/%E8%AE%AD%E7%BB%83%E7%BB%86%E…

二叉树OJ题汇总

本专栏内容为&#xff1a;leetcode刷题专栏&#xff0c;记录了leetcode热门题目以及重难点题目的详细记录 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;Leetcode &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &…

香港金融科技周2023:AIGC重塑金融形态

10月31日&#xff0c;由香港财经事务及库务局与投资推广署主办的“香港金融科技周2023大湾区专场”盛大启幕。中国AI决策领先企业萨摩耶云科技集团创始人、董事长兼 CEO林建明受邀参加圆桌会议&#xff0c;与中国内地、香港以及全球金融科技行业顶尖人才、创新企业、监管机构和…

HNU程序设计 练习三-控制结构

1.台球游戏 【问题描述】 在本台球游戏中&#xff0c;包含多种颜色的球&#xff0c;其中&#xff1a;红球15只各1分、黄球1只2分、绿球1只3分、咖啡球1只4分、蓝球1只5分、粉球1只6分、黑球1只7分。 球的颜色表示为&#xff1a; r-红色球 y-黄色球 g-绿色球 c-咖啡色球 b-蓝色…

[论文精读]How Powerful are Graph Neural Networks?

论文原文&#xff1a;[1810.00826] How Powerful are Graph Neural Networks? (arxiv.org) 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#x…

Zookeeper安装及配置

Zookeeper官网:Apache ZooKeeper 一般作为服务注册中心 无论在Windows下还是Linux下,Zookeeper的安装步骤是一样的,用的包也是同一个包 Window下安装及配置Zookeeper 下载后解压 linux安装 window及Linux安装及配置zookeeper_访问windos上的zookeeper-CSDN博客

深度学习_4 数据训练之线性回归

训练数据 线性回归 基本原理 比如我们要买房&#xff0c;机器学习深度学习来预测房价。房价的影响因素有&#xff1a;卧室数量&#xff0c;卫生间数量&#xff0c;居住面积。此外&#xff0c;还需要加上偏差值来计算。我们要找到一个正确率高的计算方法来计算。 首先&#…

SOLIDWORKS参数化设计之部分打包 慧德敏学

参数化设计就是通过主参数来驱动整个模型的变化&#xff0c;类似于SOLIDWORKS的方程式中&#xff0c;使用全局变量来控制模型其它参数的变化&#xff0c;因此要做参数化就必须要确定好主参数以及变化逻辑。 我们之前介绍过SOLIDWORKS参数化设计软件-SolidKits.AutoWorks&#…

【C++ 系列文章 -- 程序员考试 201811 下午场 C++ 专题 】

1.1 C 题目六 阅读下列说明和C代码&#xff0c;填写程序中的空&#xff08;1&#xff09; &#xff5e;&#xff08;5&#xff09;&#xff0c;将解答写入答题纸的对应栏内。 【说明】 以下C代码实现一个简单乐器系统&#xff0c;音乐类&#xff08;Music&#xff09;可以使用…

[Unity][VR]透视开发系列4-解决只看得到Passthrough但看不到Unity对象的问题

【视频资源】 视频讲解地址请关注我的B站。 专栏后期会有一些不公开的高阶实战内容或是更细节的指导内容。 B站地址: https://www.bilibili.com/video/BV1Zg4y1w7fZ/ 我还有一些免费和收费课程在网易云课堂(大徐VR课堂): https://study.163.com/provider/480000002282025/…