函数编程

159 阅读1分钟

编程范式

  • 命令式编程:如何去做,不关注做什么
  • 函数式编程:把运算过程尽量写成一系列函数嵌套调用
  • 逻辑式编程:它设定答案必须符合的规则来解决问题,而非设定步骤来解决问题

惰性

只在需要时才发生

  • 前端的懒加载
  • 前端的tree shaking
  • 无限列表问题
  • recycle list
  • 动态导入导出
  • 前端的缓存
tree shaking: 如果把代码打包比作制作蛋糕,传统的方式是把鸡蛋带壳全部丢进去搅拌,然后放入烤箱,最后把(没有用的)蛋壳全部挑选并剔除出去。而treeshaking则是一开始就把有用的蛋白蛋黄放入搅拌,最后直接做出蛋糕。

态射

  • 态射是一种状态到另一种状态的映射

高阶性

  • 高阶性是函数式编程的核心思想之一,在更高的抽象的实现上,必须依靠高阶性来实现。通过把函数作为参数,对当前函数注入解决特定任务的特定行为,来代替充斥着临时变量与副作用的传统循环结构,从而减少所要维护以及可能出错的代码。高阶性是玩转函数式编程的必要特性。
  • 传入的参数是函数,返回的结果是一个函数,这两个条件,具备一个就称为高阶函数。