使用javascript进行功能样式Web编程的好例子是什么?

Nor*_*rtl 12 javascript functional-programming

我现在每天都在做javascript.我来自OO背景,我接触过的大部分代码都是程序性/ OO风格.我正在寻找能够以功能性方式解决或多或少典型的Web编程任务的好例子.

我不想有任何看起来像功能的任意例子.我正在寻找一个例子,可以展示如何使用功能强大来解决问题比使用其他方法更好.我知道这是一种主观/风格依赖,但不要让自己(我自己)太难.

Rod*_*man 17

首先,您想要理解函数式编程的含义; 也就是说,什么是核心概念以及语言如何使您遵守这些概念.对于OOP,核心概念是封装,继承和多态(或者只是为小公司传递消息).对于FP而言,中心原则是参考透明度(这意味着无国籍).尝试使用不支持功能特性的语言(例如,作为第一类对象的函数)以函数式编程,即使不是不可能,也会很尴尬.与没有OOP功能的语言中的OOP编程相同.

幸运的是,Javascript是多范式并支持两者.不要寻找"功能性"的代码示例,而只考虑可以确保引用透明性的所有方法,这自然会导致使用语言的FP特性,如lambda,闭包,高阶函数(例如地图,缩小,过滤),currying等

说真的,这不是一个非答案.我真的认为这是接近它的最有动力和最有效的方式.

也就是说,这里有一些希望有用的链接.

  1. 用JavaScript编程

  2. 最适合FP的指南


Kev*_*son 5

Douglas Crockford 从他的JavaScript资源页面链接到Functional JavaScript.以下是该网站的摘录:

Functional是一个用于JavaScript函数编程的库.它定义了标准的高阶函数,例如map,reduce(aka foldl)和select(aka filter).它还为部分功能应用定义了咖喱,rcurry和partial等功能; 并撰写,保护,直到进行功能级编程.并且所有这些函数都接受字符串,例如'x - > x + 1','x + 1'或'+1'作为更详细函数(x){return x + 1}的同义词.