Functional-Light-JS README

The project's README from github.com/getify/Functional-Light-JS. As one markdown file: README.md.

Functional-Light JavaScript

License: CC BY-NC-ND 4.0

Book Cover

This book is a balanced, pragmatic look at FP in JavaScript. The first edition is now complete. Read here online for free, or:

Buy on Leanpub Buy on Manning Buy on Amazon

"Functional-Light JavaScript" explores the core principles of functional programming (FP) as they are applied to JavaScript. But what makes this book different is that we approach these principles without drowning in all the heavy terminology. We look at a subset of FP foundational concepts that I call "Functional-Light Programming" (FLP) and apply it to JavaScript.

Note: Despite the word "Light" in the title, I do not consider or recommend this book as a "beginner", "easy", or "intro" book on the topic. This book is rigorous and full of gritty detail; it expects a solid foundation of JS knowledge before diving in. "Light" means limited in scope; instead of being more broad, this book goes much deeper into each topic than you typically find in other FP-JavaScript books.

Let's face it: unless you're already a member of the FP cool kids club (I'm not!), a statement like, "a monad is just a monoid in the category of endofunctors", just doesn't mean anything useful to us.

That's not to say the terms are meaningless or that FPrs are bad for using them. Once you graduate from Functional-Light, you'll maybe/hopefully want to study FP more formally, and you'll certainly have plenty of exposure to what they mean and why.

But I want you to be able to apply some of the fundamentals of FP to your JavaScript now, because I believe it will help you write better, more reasonable code.

To read more about the motivations and perspective behind this book, check out the Preface.

Book

Table of Contents

Publishing

This book has been published and is now available for purchase (in both ebook and print formats) from these sources:

Buy on Leanpub Buy on Manning Buy on Amazon

If you'd like additionally to contribute financially towards the effort (or any of my other OSS work) aside from purchasing the book, I do have a patreon that I would always appreciate your generosity towards.

patreon.png

In-person Training

The content for this book derives heavily from a training workshop I teach professionally (in both public and private-corporate workshop format) of the same name.

If you like this content and would like to contact me regarding conducting training on this, or other various JS/HTML5/Node.js topics, please reach out to me through email: getify @ gmail

Online Video Training

I also have several JS training courses available in on-demand video format. I teach courses through Frontend Masters, like my Functional-Light JavaScript v2 workshop. Some of my courses are also available on PluralSight.

Contributions

Any contributions you make to this effort are of course greatly appreciated.

But PLEASE read the Contributions Guidelines carefully before submitting a PR.

The materials herein are all (c) 2016-2018 Kyle Simpson.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License.

Functional-Light-JS (getify/Functional-Light-JS)

Searching Database…

这是什么?这是一本免费的完整在线书籍,并附有配套的实战工作坊。它讲授一种务实、范围有所收窄的函数式编程子集,作者称之为“Functional-Light Programming”,并直接应用于真实的 JavaScript 代码。
这是一本书,还是一系列教程?这是一本结构完整的书,共11章加3个附录。内容从函数式编程为何重要讲起,依次涉及函数组合、不可变性、闭包、递归、列表操作、异步函数式编程、transducing(转换处理)以及单子(Monad)。
我该如何阅读这本书?可以直接在本仓库中免费在线阅读完整的第一版,也可以从多家出版商购买成书的电子版或纸质版。
这是一本适合初学者的函数式编程入门书吗?不是。“Light”只表示涵盖的主题范围较窄,并不代表难度较低。作者明确表示这不是入门书,书中对每个主题都讲得很深入,并要求读者已经具备扎实的 JavaScript 基础。
这本书是为谁写的?写给已经熟悉 JavaScript、希望把函数式编程的核心理念应用到实际工作中以改进代码的开发者。读者无需先学习大量晦涩的学术化函数式编程术语。
这些内容有视频课程版本吗?有。作者在 Frontend Masters 上以名为 Functional-Light JavaScript v2 的工作坊形式讲授,部分相关课程也在 PluralSight 上提供。
这本书深入讲解了哪些主题?涵盖函数的本质与组合、减少副作用、值的不可变性、闭包与对象的对比、递归、列表操作、函数式异步模式,并在附录中介绍transducing(转换处理)和单子(Monad)。
Creator
getify
Size
31 MB
Stars
16.7K
Updated
CommitMar 22
Age
10y
Commits · 90 Days