一、编程方案分类
1、面向过程-先做这个,在做那个,然后做什么
2、面向对象-把功能组织成对象,然后想着操作作为对象的方法
3、函数式编程-把功能分解为一系列独立的函数,通过函数间互相调用来完成功能
二、为什么用函数式编程
1、函数式编程能提高复用性和可扩展性
2、完美贴合Tree-shaking:通过文档流的引入,判断是否使用某个方法,从而减少代码体积,而面向对象的编程方案无法记录;这也是为什么现在的前端框架都开始使用函数式编程的最主要原因
3、JS对于面向对象的实现不太好,所以为什么我们要使用对我们前端不好的方向,而不去拥抱我们前端最擅长的方向