个人翻译作品,原文仓库:Functional-Light-JS。如果有翻译的不对的地方,欢迎指正。
本仓库只是文档源文件仓库,并未调整排版,在github
中浏览的话排版是混乱的。
浏览文章请点击下面目录中的链接。
- 序言 (TBA)
- 前言
- 第一章: 为什么需要函数式编程?
- 第二章: 函数式函数的基础
- 第三章: 管理函数入口
- 第四章: 组合函数
- 第五章: 减少副作用
- 第六章: 值的不变性
- 第七章: 闭包与对象
- 第八章: 排列操作
- 第九章: 递归
- 第十章: 函数式异步
- 第十一章: 将之合而为一
- 附录A: 转换
- 附录B: The Humble Monad
- 附录C: FP Libraries
这本书探讨了可以应用于JavaScript的函数式编程(FP)的核心原理。但是,这本书的不同之处在于,我们并不会直接拿一堆术语来淹没读者。在这里我们将会讲述函数式编程基础概念的一个子集,我称之为“轻量级函数式编程”(FLP),并且将之应用于Javascript之中。
尽管标题中有“Light”字样,但我并不认为这本书是面向初学者的,当然它也并不“简单”更不是入门级的书籍。这本书是严谨的,并充满了细腻的细节,它是我们深入探究JS知识的基础。“Light”在这里指的是有限的,也就是说这本书注重的是深度,而不是广度。它将会在几个主题中达到其他FP-Javascript书籍所没有的深度。
让我们来面对它吧!除非你已经是函数式编程俱乐部的成员了(我不是!)。“单子是自函子范畴上的一个半幺群”像这样的语句,对我们而言没有任何意义。
我并不是说这些术语没有意义或者函数式编程不适合它们。一旦你从Functional-Light毕业,你可能会希望更加正式的学习函数式编程,到那时你才会更加确实的体会到它们的意义和作用。
但是我希望你能够在JavaScript中应用一些函数式编程的基础,因为我相信它会帮助你写出更好更合理的代码来。
在读这本书之前,如果你想知道关于我写这本书更多的动机和观点,请看这里前言。
- Foreword (by Brian Lonsdorf aka "Prof Frisby")
- Preface
- Chapter 1: Why Functional Programming?
- Chapter 2: Foundations of Functional Functions
- Chapter 3: Managing Function Inputs
- Chapter 4: Composing Functions
- Chapter 5: Reducing Side Effects
- Chapter 6: Value Immutability
- Chapter 7: Closure vs Object
- Chapter 8: List Operations
- Chapter 9: Recursion
- Chapter 10: Functional Async
- Chapter 11: Putting It All together
- Appendix A: Transducing
- Appendix B: The Humble Monad
- Appendix C: FP Libraries
这本书最终计划是要出版的,但是现在这事儿八字还没一撇。有什么进展我会在这里更新的。
如果你觉得我的努力是值得的(或者是我在其他的OSS方面的工作),除了购买书籍之外,我还有一个patreon,我会永远感谢你慷慨的捐款。
本书的内容主要来源于我以同名的名义进行的专业教授(公共和私人以及公司研讨会)的培训研讨会。
如果您喜欢这个内容,并希望就此或者其他各种JS/HTML/Node.js的主题进行培训,请通过以下渠道和我们联系:
http://getify.me
我还有几个JS的视频培训课程,我会在Frontend Masters授课,比如Functional-Lite JS。还有些课程你可以在PluralSight观看。
您对此工作的任何贡献当然非常感谢。
但,在提交你的PR之前,请仔细阅读Contributions Guidelines。
The materials herein are all (c) 2016 Kyle Simpson.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.