编程范式
- 命令式编程:如何去做,不关注做什么
- 函数式编程:把运算过程尽量写成一系列函数嵌套调用
- 逻辑式编程:它设定答案必须符合的规则来解决问题,而非设定步骤来解决问题
惰性
只在需要时才发生
- 前端的懒加载
- 前端的tree shaking
- 无限列表问题
- recycle list
- 动态导入导出
- 前端的缓存
tree shaking: 如果把代码打包比作制作蛋糕,传统的方式是把鸡蛋带壳全部丢进去搅拌,然后放入烤箱,最后把(没有用的)蛋壳全部挑选并剔除出去。而treeshaking则是一开始就把有用的蛋白蛋黄放入搅拌,最后直接做出蛋糕。
态射
- 态射是一种状态到另一种状态的映射
高阶性
- 高阶性是函数式编程的核心思想之一,在更高的抽象的实现上,必须依靠高阶性来实现。通过把函数作为参数,对当前函数注入解决特定任务的特定行为,来代替充斥着临时变量与副作用的传统循环结构,从而减少所要维护以及可能出错的代码。高阶性是玩转函数式编程的必要特性。
- 传入的参数是函数,返回的结果是一个函数,这两个条件,具备一个就称为高阶函数。