轻量函数式 JavaScript:附录 A、Transducing

与我们在本书中所讲解的内容相比,Transducing 是一种更高级的技术。它扩展了第八章中的列表操作的许多概念。 我不认为这个话题是严格的 “轻量函数式”,它更像是在此之上的额外奖励。我将它留作附录是因为你很可能需要暂且跳过关于它的讨论,而在你对本书正文中的概念感到相当适应 —— 并且确实经过实践...

轻量函数式 JavaScript:十一、综合应用

现在,你拥有了为了理解轻量函数式 JavaScript 所需的一切。再没有新的概念要介绍了。 在这最后的一章中,我们的目标是凝聚这些概念。我们将看到将这本书中的许多主题融合在一起的代码 —— 应用我们学到的东西。最重要的是,这篇代码示例是为了展示 “轻量函数式” 应用到 JavaScript 上的方...

JavaScript入门与实战

52 课时 |
19699 人已学 |
免费

JavaScript 自学手册文档教程

65 课时 |
3411 人已学 |
免费
开发者课程背景图

轻量函数式 JavaScript:十、函数式异步

这本书读到这里,你现在拥有了所有 FP —— 我称之为 “轻量函数式编程” —— 基础的原始概念。在这一章中,我们会将这些概念应用于一种不同的环境,但不会出现特别的新想法。 至此,我们做的所有事情几乎都是同步的,也就是说我们使用立即的输入调用函数并立即得到输出值。许多工作可以用这种方式完成,但对于一...

轻量函数式 JavaScript:九、递归

在下一页,我们将进入递归的话题。 (本页的剩余部分故意被留作空白)                       让我们来谈谈递归。在深入之前,参见前一页来了解其正式的定义。 很弱的玩笑,我知...

轻量函数式 JavaScript:八、列表操作

你在前一章闭包/对象的兔子洞中玩儿的开心吗?欢迎回来! 如果你能做很赞的事情,那就反复做。 我们在本书先前的部分已经看到了对一些工具的简要引用,现在我们要非常仔细地看看它们,它们是 map(..)、filter(..)、和 reduce(..)。在 JavaScript 中,这些工具经常作为数组(也...

轻量函数式 JavaScript:七、闭包 vs 对象

多年以前,Anton van Straaten 编写了一个名声显赫而且广为流传的 禅家公案,描绘并挑起了闭包与对象之间一种重要的紧张状态。 庄严的 Qc Na 大师在与他的学生 Anton 一起散步。Anto 希望促成一次与师傅的讨论,他说:“师傅,我听说对象是个非常好的东西 —— 真的吗?” Qc...

轻量函数式 JavaScript:六、值的不可变性

在第五章中,我们谈论了减少侧因/副作用的重要性:它们使你的应用程序状态会出乎意料地改变并造成意外的结果(bug)。这样有地雷的地方越少,我们就能对自己的代码更有信心,而且它的可读性也更高。我们在本章中的话题紧跟着为了相同的目的而做出的努力。 如果编程上的幂等性是关于定义一个只影响状态一次的改变值的操...

轻量函数式 JavaScript:五、降低副作用

在第二章中,我们讨论了一个函数如何能够拥有 return 值之外的输出。至此你应当对一个函数的 FP 定义感到非常适应了,那么这种副输出 —— 副作用!—— 的想法应当散发出臭味了。 我们将要检视各种不同形式的副作用,并看看为什么它们对我们代码的质量和可读性有害。 但别让我在这里喧宾夺主。这一章的要...

轻量函数式 JavaScript:四、组合函数

至此,我希望你对在函数式编程中使用函数是什么意思感到适应多了。 函数式程序员将他们程序中的每一个函数都看做一个小而简单的乐高积木块。他们一眼就能认出 2x2 的蓝色积木块,而且知道它到底是如何工作以及他们能对它做什么。随着他们建造更大更复杂的乐高模型,当他们每次需要下一个零件时,他们对要抓来哪些积木...

轻量函数式 JavaScript:三、管理函数输入

在第二章的“函数输入”中,我们谈到了函数形式参数与实际参数的基础。我们还看了一些语法技巧来方便它们的使用,比如 ... 操作符和解构。 我在讨论中建议你应当尽可将函数设计为只含一个形式参数。事实上,这不总是可能的,而且你也不总是能够控制你使用的函数的签名。 现在我们将要把注意力转向在这些场景下操纵函...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

开发与运维
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
6369+人已加入
加入
相关电子书
更多
现代Javascript高级教程
JS零基础入门教程(上册)
Javascript异步编程
立即下载 立即下载 立即下载