2025年Lodash 源码 - 0 我选择从 Lodash 开始

Lodash 源码 - 0 我选择从 Lodash 开始What is Lodash Lodash 不仅仅是一个现代 JavaScript 工具库 更是一种数据处理的方式 import from lodash var object a b c 3 4

大家好,我是讯享网,很高兴认识大家。

What is Lodash

Lodash 不仅仅是一个现代 JavaScript 工具库,更是一种数据处理的方式。

import _ from 'lodash'; var object = { 
    'a': [{ 
    'b': { 
    'c': 3 } }, 4] }; _.at(object, ['a[0].b.c', 'a[1]']); // => [3, 4] 

讯享网

这个系列将以阅读源码的方式,探秘 Lodash,并且加深对 JavaScript 的理解。

Why is Lodash

我在 Underscore 和 Lodash 之间纠结了一下,最终选择了 Lodash 作为我的源码阅读之路的开篇。

Lodash 基于 ES6 的语法,具有模块化的源码结构

ES6+ 即将或者已经成为 JavaScript 开发的规范。而 Lodash 的源码基于 ES6 的语法规范,相比于 Underscore 更具有前瞻性。

正因如此,Lodash 将每一个 API 都单独分隔成一个模块,并且支持按需引入,比如:

讯享网import chunk from lodash.chunk chunk([1, 2, 3, 4, 5, 6], 2) // [[1, 2], [3, 4], [5, 6]] 

在 Node 中也可以很方便的使用:

const chunk = require(lodash.chunk) 

而模块结构,可以更具有针对性,更清晰地分析源码,避免走进源码的黑洞。这是阅读源码很重要的一点。

Lodash 丰富的 API

Lodash 具有 200+ 的 API,主要包括数组、对象、字符串的处理,类型检测,以及工具函数等,并且覆盖了全部的原生 JS API。

从使用 Lodash 的角度来说,Lodash 具有其 API 不会改变原数据的优点,避免了使用某些原生 JS API 会改变原数据的隐患。比如原生 JS 中数组的 reverse() 方法。

讯享网const originalArr = [1, 2, 3]; originalArr.reverse(); console.log(originalArr); // [3, 2, 1] const originalArr2 = [4, 5, 6]; _.reverse(originalArr2); console.log(originalArr2); // [4, 5, 6] 

从源码学习的角度,我认为学习 Lodash 的 API,可以对 JS 的基础知识得到一次提升,这也是我写这个系列的主要目的。

Lodash 的函数式编程思想

Lodash/fp 可以实现函数式编程。


讯享网

目前,我对函数式编程处于了解的阶段,我也就暂时不展开了。希望通过 Lodash 源码的学习,让我入门函数式编程。这是第二个目的。

Lodash 的性能

Lodash 还有一个我感兴趣的点,即惰性计算。这个也待我了解清楚后,在后续的文章中记录。

所以,我选择 Lodash

以上四点,是我选择 Lodash 的原因。

我深知源码学习之难,通过写文章的方式记录,是一种激励自己的方式。

About Me

Leo,本科,前端爱好者。

GitHub: https://github.com/swpuleo

CSDN: https://blog.csdn.net/swpu_Leo

Email:

在路上。

Next

Lodash 如何判断数据类型 I

我的公众号

cameraee

小讯
上一篇 2025-03-10 13:07
下一篇 2025-03-26 11:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/41050.html