《代码大全2》(英文限量珍藏版)《程序员修炼之道》《计算机程序的构造和解释》《C程序设计语言》《算法导论》《重构 改善既有代码的设计》《人月神话》《设计模式》(典藏版)《计算机程序设计艺术》《编译原理》《深入浅出设计模式》《代码整洁之道》《编程珠玑》《修改软件的艺术》《编码:隐匿在计算机软硬件背后的语言》《黑客与画家》《深入理解计算机系统》《HTTP权威指南》《重来》《集体智慧编程》《活着》《编程之美》《程序员思维修炼》《系统化思维导论》《大话数据结构》《UNIX网络编程》《高性能Linux服务器运维实战》《TCP/IP详解》《计算机网络:自顶向下方法》《UNIX环境高级编程》《程序员的自我修养》《数据密集型应用系统设计》《现代操作系统》《操作系统真象还原》《Windows核心编程》《深入理解LINUX内核》《传世经典书丛:UNIX编程艺术》《清醒思考的艺术》《C和指针》《C专家编程》《C 陷阱与缺陷》《C++ Primer Plus》《STL源码剖析》《Effective C++》《深度探索C++对象模型》《Java核心技术》《Effective Java中文版》《深入理解Java虚拟机》《Java并发编程实战》《轻量级Java Web整合开发》《精通Spring》《Java编程思想》《Java性能权威指南》《大话设计模式》《图解HTTP》《Redis实战》《Redis设计与实现》《高性能MySQL》《鸟哥的Linux私房菜》《Spring Cloud Alibaba微服务原理与实战》《第一本Docker书》《MySQL必知必会》《MySQL技术内幕:InnoDB存储引擎》《深入浅出MySQL》《SQL基础教程》《CSS权威指南》《CSS揭秘》《CSS世界》《Head First HTML与CSS》《零基础学HTML5+CSS3》《HTML5+CSS3+JavaScript从入门到精通》《JavaScript DOM编程艺术》《JavaScript高级程序设计》《JavaScript语言精粹》《你不知道的JavaScript 》《JavaScript设计模式与开发实践》《ES6标准入门》《深入理解ES6》《高性能JavaScript》《数据结构与算法JavaScript描述》《JavaScript ES6 函数式编程入门经典》《HTML5权威指南》《锋利的jQuery》《深入React技术栈》《React状态管理与同构实战》《React进阶之路》《React学习手册》《React Native移动开发实战》《React+Redux前端开发实战》《Spring Boot+Vue全栈开发实战》《Vue.js项目实战》《Vue.js入门与商城开发实战》《Vue.js 从入门到实战》《Vue.js实战》《深入浅出Node.js》《Node.js实战》《Node.js无服务器应用实战》《Node与Express开发》《编写可维护的JavaScript》《大型网站技术架构 核心原理与案例分析》《Web性能权威指南》《点石成金》

《JavaScript ES6 函数式编程入门经典》

点击购买

函数式编程是一种编程范式,它的优点是简洁易读,模块化,低耦合,适合并发编程等,很多前端大咖都推过函数式编程。这本对书函数式编程的相关概念和编程思想都讲的比较好也容易理解,从中你可以学习到纯函数、高阶函数、柯里化(Currying) 等知识。如果你用过 react,这一类知识肯定用得比较多,学好函数式编程也有助于你更好地理解 React 的设计思想。


编辑推荐

  函数式编程是一种古老的编程范式。近些年来,随着RxJS 等函数式框架的流行,它焕发了青春,再次进入了我们的视野。与Haskell 等语言相比,JavaScript 虽然不是一种纯函数语言,但它将函数视为一等公民,非常适合函数式编程范式。函数式编程为应用带来的可维护性、可测试性和可扩展性是不言而喻的,而纯函数、高阶函数、柯里化、组合、Monad 等诸多概念往往令刚刚接触它的人无从下手。

  快速掌握一个知识体系的秘诀是抓住概念并理清概念之间的关系。《JavaScript ES6 函数式编程入门经典》将函数式编程中那些抽象的原理分解为一个个简单的概念,娓娓道来,并配以丰富的实战案例,逐步带你领略函数式编程的魅力。掌握函数式编程思想对开发与理解单数据流应用非常有帮助,愿《JavaScript ES6函数式编程入门经典》带你开启这段非凡的旅程!


内容简介

  《JavaScriptES6函数式编程入门经典》使用JavaScriptES6带你学习函数式编程。你将学习柯里化、偏函数、高阶函数以及Monad等概念。

  目前,编程语言已经将焦点从对象转移到函数。JavaScript支持函数式编程,并允许开发者编写精心设计的代码

  主要内容

  ●掌握函数式编程的概念

  ●清楚函数在JavaScript中的地位

  ●理解真实的函数式类库,并创建一个模拟underscore.js的函数式类库

  ●实践纯错误处理技术,例如函子和Monad

  ●了解ES6的函数式编程特性,例如扩展运算符和Generator


作者简介

  AntoAravinth是来自VisualBIChennai研发中心的高级商业智能开发工程师。在过去的五年中,他曾使用Java、JavaScript语言以及ReactJs、angular等框架开发Web应用。他对Web和Web标准有透彻的理解。他也是流行框架ReactJs、Selenium和Groovy的开源贡献者。AntoAravinth在业余时间喜欢打乒乓球。他很有幽默感!他也是ReactQuickly一书的技术开发编辑,此书在2017年由Manning出版社出版。


目录

第1章函数式编程简介1

1.1什么是函数式编程?为何它重要1

1.2引用透明性4

1.3命令式、声明式与抽象5

1.4函数式编程的好处7

1.5纯函数7

1.5.1纯函数产生可测试的代码7

1.5.2合理的代码9

1.6并发代码10

1.7可缓存11

1.8管道与组合12

1.9纯函数是数学函数13

1.10我们要构建什么15

1.11JavaScript是函数式编程语言吗15

1.12小结16

第2章JavaScript函数基础17

2.1ECMAScript历史18

2.2创建并执行函数19

2.2.1第一个函数19

2.2.2严格模式21

2.2.3return语句是可选的22

2.2.4多语句函数22

2.2.5函数参数24

2.2.6ES5函数在ES6中是有效的24

2.3设置项目24

2.3.1初始设置24

2.3.2用第一个函数式方法处理循环问题26

2.3.3export要点28

2.3.4import要点28

2.3.5使用babel-node运行代码29

2.3.6在npm中创建脚本30

2.3.7从git上运行源代码31

2.4小结31

第3章高阶函数33

3.1理解数据34

3.1.1理解JavaScript数据类型34

3.1.2存储函数35

3.1.3传递函数35

3.1.4返回函数37

3.2抽象和高阶函数38

3.2.1抽象的定义38

3.2.2通过高阶函数实现抽象39

3.3真实的高阶函数42

3.3.1every函数42

3.3.2some函数44

3.3.3sort函数44

3.4小结48

第4章闭包与高阶函数49

4.1理解闭包50

4.1.1什么是闭包50

4.1.2记住闭包生成的位置52

4.1.3回顾sortBy函数53

4.2真实的高阶函数(续)54

4.2.1tap函数54

4.2.2unary函数56

4.2.3once函数57

4.2.4memoized函数58

4.3小结60

第5章数组的函数式编程61

5.1数组的函数式方法62

5.1.1map62

5.1.2filter65

5.2连接操作67

5.3reduce函数71

5.4zip数组77

5.5小结81

第6章柯里化与偏应用83

6.1一些术语84

6.1.1一元函数84

6.1.2二元函数84

6.1.3变参函数84

6.2柯里化86

6.2.1柯里化用例87

6.2.2日志函数——应用柯里化89

6.2.3回顾curry90

6.2.4回顾日志函数93

6.3柯里化实战94

6.3.1在数组内容中查找数字94

6.3.2求数组的平方95

6.4数据流96

6.4.1偏应用96

6.4.2实现偏函数97

6.4.3柯里化与偏应用99

6.5小结100

第7章组合与管道101

7.1组合的概念102

7.2函数式组合104

7.2.1回顾map与filter104

7.2.2compose函数106

7.3应用compose函数106

7.3.1引入curry与partial108

7.3.2组合多个函数111

7.4管道/序列113

7.5组合的优势114

7.5.1组合满足结合律114

7.5.2使用tap函数调试115

7.6小结116

第8章函子117

8.1什么是函子118

8.1.1函子是容器118

8.1.2函子实现了map方法120

8.2MayBe函子121

8.2.1实现MayBe函子122

8.2.2简单用例123

8.2.3真实用例125

8.3Either函子129

8.3.1实现Either函子130

8.3.2reddit例子的Either版本131

8.4Pointed函子134

8.5小结134

第9章深入理解Monad135

9.1根据搜索词条获取Reddit评论136

9.2问题描述136

9.2.1实现第一步138

9.2.2合并Reddit调用141

9.2.3多个map的问题144

9.3通过join解决问题146

9.3.1实现join146

9.3.2实现chain148

9.4小结151

第10章使用Generator153

10.1异步代码及其问题154

10.2Generator基础156

10.2.1创建Generator156

10.2.2Generator的注意事项157

10.2.3yield关键字158

10.2.4done属性160

10.2.5向Generator传递数据162

10.3使用Generator处理异步调用164

10.3.1一个简单的案例164

10.3.2一个真实的案例169

10.4小结172

链接: https://www.fly63.com/course/26_1223