阅读指数
三星:★★★☆☆
作者简介
Michael Fogus是Dynamic Animation Systems的软件架构师,在分布式仿真、机器视觉和专家系统建设方面经验丰富。他是Clojure、ClojureScript以及Underscore-contrib的贡献者,还是《Clojure编程乐趣》的作者。
本书内容
函数式编程(英语:functional programming),又称泛函编程,是一种编程范式,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。
JavaScript 是近年来非常受瞩目的一门编程语言,它既支持面向对象编程,也支持函数式编程。本书专门介绍JavaScript函数式编程的特性。全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多函数式JavaScript。
函数式编程的历史已经很悠久了,但是最近几年却频繁的出现在大众的视野,很多不支持函数式编程的语言也在积极加入闭包,匿名函数等非常典型的函数式编程特性。大量的前端框架也标榜自己使用了函数式编程的特性,好像一旦跟函数式编程沾边,就很高大上一样,而且还有一些专门针对函数式编程的框架和库,比如:RxJS、cycleJS、ramdaJS、lodashJS、underscoreJS等。函数式编程变得越来越流行,掌握这种编程范式对书写高质量和易于维护的代码都大有好处,所以我们有必要掌握它。
本书内容全面,示例丰富,适合想要了解函数式编程的JavaScript程序员和学习JavaScript的函数式程序员阅读。
阅读建议
函数式编程是一种编程范式,它的优点是简洁易读,模块化,低耦合,适合并发编程等,很多前端大咖都推过函数式编程。这本对书函数式编程的相关概念和编程思想都讲的比较好也容易理解,从中你可以学习到纯函数、高阶函数、柯里化(Currying) 等知识。如果你用过 React,这一类知识肯定用得比较多,学好函数式编程也有助于你更好地理解 React 的设计思想。不过,有一点不好的就是,比如说柯里化,如果直接说 Currying 反而更容易理解,不是说这本书翻译得不好,很多术语用中文表达总觉得不是很恰当,我觉得如果你能阅读英文版的最好读英文版的。
概括的来说,函数式编程包括以下技术:
- 确定抽象,并为其构建函数
- 利用已有的函数来构建更为复杂的抽象
- 通过将现有的函数传给其他函数来构建更加复杂的抽象
JavaScript并不仅限于函数式编程语言,以下是另外3种常用的编程方式:
- 命令式编程: 通过详细描述行为的编程方式,属于面向过程思想编程(算法+数据结构)
- 基于原型的面向对象编程: 基于原型对象及其实例的编程方式
- 元编程:对JavaScript执行模型数据进行编写和操作的编程方式,属于面向过程思想编程(算法+数据结构)
阅读方法
- 本书针对的是函数式编程思想的阐述,阅读中我们可以先动手实现书中的实例,然后再去理解相关的概念
- 遇见不好理解的概念可以先不必非得去较真,可以先行略过
- 阅读中有任何不懂的地方,可以联系本站站长进行讨论
- 最好先有一个自己经手的前段项目的经验,再去阅读本书
- 对于习惯了面向过程和面向对象的开发思想来说,本书看起来和理解起来可能会有难度,建议结合实际项目知识点去研读
电子版下载
由于本书版权原因,不方便直接提供电子版下载地址,如果您想要获得此书的电子版(《JavaScript 函数式编程》 PDF扫描版),请扫描下方的二维码关注 W3CAPI官方微信公众号 或者 直接联系站长 进行索要即可。