React笔记(1)——函数式编程

56 阅读2分钟

[TypeScript] 第1553天 在TypeScript中as语法是什么? #5516

在TypeScript中,as 是一种类型断言。它用于显式地指定一个值的类型。

[TypeScript] 第1552天 在TypeScript中枚举和常量枚举有什么区别?

枚举会被编译时会编译成一个对象,常量枚举会编译成常量,推荐常量枚举,减少打包体积

[TypeScript] 第1544天 什么是TypeScript接口? #5507

接口就是用来描述对象或者类的具体结构,约束他们的行为 函数式编程是React的精髓,在正式讲解React之前,有必要先了解一下函数式编程,有助于更好的理解React的特点。函数式编程(Functional Programming)不是一种新的框架或工具,而是一种以函数为主的编程范式。编程范式也叫编程范型,是一类编程风格,除了函数式编程,常用的还有面向对象编程、命令式编程等。

一、声明式编程

  声明时编程也是一种范式,但它是一个比较大的概念,函数式编程是它的一个子集。声明式编程能指定每一步操作,而不用向计算机描述具体的实现细节。与之相对立的是命令式编程,它会命令计算机每一步该怎么做。以数组的元素翻倍为例,先用命令式编程实现,如下所示。

var arr = [1, 2, 3],
  length = arr.length,
  doubles = [];
for (let i = 0; i < length; i++) {
  doubles.push(arr[i] * 2);
}

  在命令式的代码中,先用for循环遍历整个数组,然后让每个元素乘以二,再将计算结果插入到doubles数组中,直至将所有的元素计算完才终止整套操作。改用声明式编程可以像下面这样实现相同的功能。

var doubles = [1, 2, 3].map(value => value * 2);

  在声明式的代码中,用map()方法替代了循环语句(即不指明流程的控制方式),既不用再维护计数器,也不用再通过索引访问数组的元素,配合ES6的箭头函数让整套操作变得非常简洁。