一、框架语言的趋势
React and Redux
(1)React hook and 高阶组件
函数式编程是随着React的流行收到越来越多的关注
React中的高阶组件使用了高阶函数来实现,高阶函数就是函数式编程的一种特性。虽然React中使用了一 些函数式编程的特性,但它并不是纯函数式的。
(2)Redux
另外React中的一些生态,比如Redux,它使用了一些函数式编程的思想,所以,想要更好的学习React和Redux,就需要了解函数式编程。Vue
(1) Composition API and 高阶组件
Vue3对Vue2做了很大的重构,而且越来越偏向函数式,在使用Vue3的CompositionAPI可以感受到,在Vue2的源码中,也大量使用了高阶函数,这些流行框架都在趋向于函数式编程,甚至可以说,可以不学这些框架,但是不能不了解函数式编程,因为这些才是永远不变的内容。二、工程化的优势
打包过程中可以更好的利用tree shaking过滤无用代码
三、业务代码上的实践
单元测试:方便测试、方便并行处理
- 第三方库:lodash、underscore、ramda
解决this指向的困扰:
(1)很多人在学习之前,都了解过面向对象的语言,比如说java, c#,c++等等,所在在学习Js的时候,也都是从面向对象开始的,通过学习原型、原型链、以及模拟实现继承的机制来实现面向对象的一些特性。
(2)在学习的过程中,还会遇到this,在使用this的时候可能遇到各种各样的问题,在使用JavaScript来模拟面向对象的一些特性的时候,非常痛苦。以后,可以拥抱函数式编程,如果拥抱函数式编程甚至可以抛弃掉this。
[
](https://blog.csdn.net/sinat_43095140/article/details/114903913)