前端拾遗01|从前端函数式编程开始

Posted 家前五座山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端拾遗01|从前端函数式编程开始相关的知识,希望对你有一定的参考价值。

函数式编程是什么呢?是一种编程范式,比较经典的函数式语言有 Haskell ,实际上 JacaScript 本身作为一门多范式的语言也是支持函数式的。


函数式具有五个鲜明的特点:

  1. 函数是一等公民

  2. Lambda表达式

  3. 纯函数,也叫没有副作用,不影响外部变量

  4. 不修改外部状态

  5. 引用透明,只依赖于输入的参数


来看一个例子

const arguments = ['qiupu'];const callName = name => {  console.log(arguments[0])}const callRealName = function(name{ console.log(arguments[0])}callName('knight'); // qiupucallRealName ('knight'); // knight

这就是典型的上下文透传的例子。



数组里有一些方法可以实现类似Lodash库的语句组合形式,如链式调用、函数作为参数调用,也可以做一些控制语句代替for/while等。

来看一个例子

在JSX中我们常常看到这样的用法

const menu = (<div> { props.post.filter(item =>item.name).map(item=>{ return <div key={item.id}>{item.name}<div> }) }</div>)


这里常见的map、filter等就是常见的 组合子 的包装。


以上是关于前端拾遗01|从前端函数式编程开始的主要内容,如果未能解决你的问题,请参考以下文章

鹅厂原创 | 前端中的函数式编程

前端必学——函数式编程

前端开发函数式编程入门

前端开发函数式编程入门

图书前端函数式演进

前端学习函数式编程的方法和误区