JavaScript中函数式编程中文翻译

原著由 Dan Mantyla 编写

近几年来,随着 Haskell、Scala、Clojure 等学院派原生支持函数式编程的偏门语言越来越受到关注,同时主流的 Java、JavaScript、Python 甚至 C++都陆续支持函数式编程。特别值得一提的是,在 nodejs 出现后,JavaScript 成为第一种从前端到后台的全栈语言,而且 JavaScript 支持多范式编程。应用函数式编程的最大挑战就是思维模式的改变———从传统面向对象的范式变为函数式编程范式。

《JavaScript 中的函数式编程》(Functional Programming in JavaScript)是 JavaScript 函数式编程极具代表性的原著书籍,至今未获中文翻译和发售,于是本人尝试翻译,以期在翻译过程中有所收获,也欢迎朋友们加入一起翻译。

本书利用业余时间翻译,如有理解和用词错误,还请不吝赐教。

主站 · 下载电子版

目录和章节

贡献内容

如果你想参与这本书的共同创作、修改或添加内容,可以先 Fork 这本书的仓库,然后将修改的内容提交 Pull requests ;或者创建 Issues

Fork 后的仓库如何同步本仓库?

# 添加 upstream 源,只需执行一次
git remote add upstream [email protected]:hex-translate/natpagle.git

# 拉取远程代码
git pull upstream master

# 提交修改
git add .
git commit

# 更新 fork 仓库
git push origin master

更多参考: Syncing a fork

注意,本书内容在 /docs 目录中, /dist是通过脚本自动生成的网站文件。

生成电子书

这本书使用 Vuepress 撰写并生成网站,请查看 package.json 中的 scripts 配置和 /scripts 目录中的脚本来了解这本书的构建和发布过程。

原文地址:https://www.cnblogs.com/ahthw/p/12178673.html

时间: 2024-10-31 05:21:23

JavaScript中函数式编程中文翻译的相关文章

JavaScript中函数式编程的体现--map和reduce

最近在学JavaScript,中间看到map和reduce方法,觉得挺有意思的,边学边写下这篇博客. 这两个函数都在某种程度上体现了函数式编程的思想,即将函数作为传入另一个函数的参数. map()方法的调用者一般是个数组,参数是一个函数,称为callback,返回值是一个由原数组中每个元素执行给定callback函数的返回值组成的新数组. 也就是说,当你用map()方法时,是将组成数组中的每个元素作为参数,传进给定的函数,如果这个函数是有返回值的,则将每次执行函数得到的返回值组成一个新的数组返回

翻译连载 | 附录 A:Transducing(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTML 最坚实的梁柱:分享,是 CSS 里最闪耀的一瞥:总结,是 JavaScript 中最严谨的逻辑.经过捶打磨练,成就了本书的中文版.本书包含了函数式编程之精髓,希望可以帮助大家在学习函数式编程的道路上走的更顺畅.比心. 译者团队(排名不分先后):阿希.blueken.brucecham.cfanlife.d

翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTML 最坚实的梁柱:分享,是 CSS 里最闪耀的一瞥:总结,是 JavaScript 中最严谨的逻辑.经过捶打磨练,成就了本书的中文版.本书包含了函数式编程之精髓,希望可以帮助大家在学习函数式编程的道路上走的更顺畅.比心. 译者团队(排名不分先后):阿希.blueken.brucecham.cfanlife.d

全本 | iKcamp翻译 | 《JavaScript 轻量级函数式编程》|《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson - <You-Dont-Know-JS>作者 译者团队(排名不分先后):阿希.blueken.brucecham.cfanlife.dail.kyoko-df.l3ve.lilins.LittlePineapple.MatildaJin.冬青.pobusama.Cherry.萝卜.vavd317.vivaxy.萌萌.zhouyao 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTML 最坚实的梁柱:

JavaScript 与函数式编程

原文:https://bethallchurch.github.io/JavaScript-and-Functional-Programming/ 译文:http://www.zcfy.cc/article/1013 译者注:推荐一篇译文,<函数式编程术语解析>. 本文是我在 2016 年 7 月 29 号听 Kyle Simpson 精彩的课程<Functional-Light JavaScript>时所做的笔记(外加个人的深入研究)(幻灯片在这). 长久以来,面向对象在 Jav

JavaScript中异步编程

一 关于事件的异步 事件是JavaScript中最重要的一个特征,nodejs就是利用js这一异步而设计出来的.所以这里讲一下事件机制. 在一个js文件中,如果要运行某一个函数,有2中手段,一个就是直接调用,比如foo(),第二就是利用事件来触发,这中函数也叫回调函数,比如传递给setTimeout函数和onready属性. 1.setTimeout函数中的事件异步 setTimeout本质上也是一种异步事件,当延迟时间到的时候触发该事件,但是有的有的时候(其实也是大部分时候)都不会按照给定的延

辛星浅析JavaScript中的编程规范

这是接着上一篇的博文写的,首先说一下编程规范的重要性吧,它可以让我们的代码保持一致性,可预测,更易于阅读和理解.一个新的开发者可以通过阅读规范,理解其他团队成员书写的代码,更快的上手干活. 第一点就是缩进. 很糟糕的一件事就是不一致的缩进,因为它看上去像是遵循了规范,但是可能一路上伴随着混乱和惊奇,重要的是规范的使用缩进. 一些开发人员喜欢用tab制表符缩进,因为任何人都可以调整他们的编辑器以自己喜欢的空格数来显示tab.也有人喜欢用空格,通常是四个空格.一般这个无所谓,只要团队每个人都遵循同一

JavaScript ES6函数式编程(二):柯里化、偏应用、组合、管道

上一篇介绍了闭包和高阶函数,这是函数式编程的基础核心.这一篇来看看高阶函数的实战场景. 首先强调两点: 注意闭包的生成位置,清楚作用域链,知道闭包生成后缓存了哪些变量 高阶函数思想:以变量作用域作为根基,以闭包为工具来实现各种功能 柯里化(curry) 定义:柯里化是把一个多参数函数转换为一个嵌套的一元函数的过程. 先看个简单的例子,这是一个名为 add 的函数:const add = (x, y) => x + y;调用该函数 add(1, 1).add(1, 2).add(1, 3)...很

JavaScript ES6函数式编程(三):函子

前面二篇学习了函数式编程的基本概念和常见用法.今天,我们来学习函数式编程的最后一个概念--函子(Functor). 相信有一部分同学对这个概念很陌生,毕竟现在已经有很多成熟的轮子,基本能满足我们日常的业务开发,所以没必须重复造轮子.但是,作为一名(未来)优秀的程序员,光会用怎么能行呢?必须要理解更深层的思想.下面就来学习函子部分的知识... 函子(Functor) 在正式学习函子之前,我会先抛出一个问题,先用普通的方式解决,然后转换为用函子解决,这能帮助我们更好的理解函子.同时,这也是我想说的,