编辑: 施信荣 2019-07-08
内容简介在后端, 函数式语言层出不穷.

在前端, 函数式最后的边界也已经被渐渐打破. Scala 的Scala.js、 Clojure 的ClojureScript 都试图同构移向前端.然而,原生 JavaScript 其实也可以通过丰富的库让前端的函数式编 程一样的舒适和优雅. 本书涵盖了大部分函数式编程思想,包括 JavaScript 的函数式支持,Clojure 风格的集合、递归、函数 组合、宏、模式匹配、实用的 Monads,以及前端的并发编程. 本书适合想要了解函数式编程的 JavaScript 程序员或者想学习 JavaScript 的函数式程序员阅读. 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容. 版权所有,侵权必究. 图书在版编目(CIP)数据 前端函数式攻城指南 / 欧阳继超著. ―北京:电子工业出版社,2016.10 ISBN 978-7-121-29724-3 Ⅰ. ①前… Ⅱ. ①欧… Ⅲ. ①函数-程序设计 Ⅳ. ①TP311.1 中国版本图书馆 CIP 数据核字(2016)第200135 号 责任编辑:董英印刷:三河市双峰印刷装订有限公司 装订:三河市双峰印刷装订有限公司 出版发行:电子工业出版社 北京市海淀区万寿路

173 信箱 邮编:100036 开本:787*980 1/16 印张:12 字数:187 千字 版次:2016 年10 月第

1 版印次:2016 年10 月第

1 次印刷 印数:3000 册 定价:59.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换.若书店售缺,请与本社发行部联系, 联系及邮购

电话: (010)88254888,88258888 质量投诉请发邮件至 zlts@phei.com.cn,盗版侵权举报请发邮件至 dbqq@phei.com.cn. 本书咨询联系方式:010-51260888-819 faq@phei.com.cn. 序 函数式编程可以说是非常古老的编程方式,但是近年来函数式编程越来越受到 人们的关注.不管是 Google 力推的 Go、学术派的 Scala 与Haskell,还是 Lisp 的新 方言 Clojure,这些新的函数式编程语言都越来越受到人们的关注. 当然不仅是后端函数式编程语言层出不穷,前端也不甘示弱.虽然前端浏览器 只支持一门语言――JavaScript,但是能支持函数式编程的 JavaScript 库越来越多, 比如 Functional JavaScript1 、Underscore、lodash 等.不仅如此,还有一些能编译成 JavaScript 的语言, 能让前端的函数式编程发挥到极致, 例如 Haskell 的PureScript、 Scala 的Scalajs、Clojure 的ClojureScript. 我两次都以 Clojure 结尾,是因为我喜欢把重点留到最后.Clojure 独特于其他 语言,它既是一门新的语言、一门函数式编程范式的语言,又流淌着古老的血液 ――Lisp2 .这是我选择用 Clojure 来诠释函数式编程的原因之一. 那么为什么我要选 JavaScript 作为函数式编程的目标呢?Michael Fogus 用200 多页向大家展示了不一样的 Functional JavaScript 编程方式,可惜 Fogus 作为 ClojureScript 编译器的贡献者,竟然选择了 Underscore 作为函数式库,直接导致并 不能完全展示 JavaScript 所能达到的函数式编程能力.有趣的是,ClojureScript 的作

1 没错,名字就叫这个.

2 还记得《计算机程序构造与解释》里面用的怪怪的括号语言 Scheme 吗? ? 前端函数式攻城指南 IV 者把 ClojureScript 的不可变(Immutable)数据结构移植到了 JavaScript,这彻底将 JavaScript 的函数式编程提升到了用其他库都完成不了的新高度3 .不仅如此, Mozilla 的Sweet.js(https://github.com/mozilla/sweet.js)更是完成了另一个突破 ――JavaScript 的macro,它虽然不能算是函数式的概念,但也算是 Lisp 语言的一 项独门绝技了4 . 这一切的一切,都让我忍不住要帮 Fogus 出一本续集,用JavaScript 实现其他 函数式编程语言如 Clojure 甚至是 Haskell5 的奇技淫巧,让大家进一步感受用 JavaScript 这门不完美的语言同样可以编写出优雅的函数式代码,以不一样的方式 思考和解决问题.于是不管你是想转行 JavaScript 的Clojure 开发者,还是想了解 Clojure 或函数式编程的 JavaScript 开发者,都可以在此找到一些启发.但这并不是 一本 JavaScript 入门的好书6 .

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题