2019 年编写现代 JavaScript 代码的5个小技巧

内容基本是今年从其他大神的文章学习到的东西。出处在底下。

1、Array.includes 与条件判断

一般我们判断或用 ||

2019 年编写现代 JavaScript 代码的5个小技巧

如果我们有更多水果

2019 年编写现代 JavaScript 代码的5个小技巧

2、Set 与去重

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。

数组去重

 

2019 年编写现代 JavaScript 代码的5个小技巧

Array.from 方法可以将 Set 结构转为数组。我们可以专门编写使用一个去重的函数

2019 年编写现代 JavaScript 代码的5个小技巧

字符去重

2019 年编写现代 JavaScript 代码的5个小技巧

另外 Set 是如此强大,因此使用 Set 可以很容易地实现并集(Union)、交集(Intersect)和差集(Difference)。

2019 年编写现代 JavaScript 代码的5个小技巧

3、Map 与字典类型数据

一般而已,JavaScript 实现字典数据是基于 Object 对象。但是 JavaScript 的对象的键只能是字符串。对于编程来说有很多不便。 ES6 提供了 Map 数据结构。它类似于 Object 对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值,字符串、数值、布尔值、数组、对象等等都可以当作键。

2019 年编写现代 JavaScript 代码的5个小技巧

Map 的遍历顺序就是插入顺序

2019 年编写现代 JavaScript 代码的5个小技巧

4、函数式的方式处理数据

按照我的理解,函数式编程主张函数必须接受至少一个参数并返回一个值。所以所有的关于数据的操作,都可以用函数式的方式处理。

假设我们有这样的需求,需要先把数组 foo 中的对象结构更改,然后从中挑选出一些符合条件的对象,并且把这些对象放进新数组 result 里。

2019 年编写现代 JavaScript 代码的5个小技巧

从直觉上我们很容易写出这样的代码:

2019 年编写现代 JavaScript 代码的5个小技巧

使用函数式的写法,可以优雅得多

2019 年编写现代 JavaScript 代码的5个小技巧

数组求和

2019 年编写现代 JavaScript 代码的5个小技巧

5、compose 与函数组合

以下代码称为组合 compose

 

2019 年编写现代 JavaScript 代码的5个小技巧

由于函数式编程大行其道,所以现在将会在 JavaScript 代码看到大量的箭头()=>()=>()=>的代码。

ES6 版本 compose

 

2019 年编写现代 JavaScript 代码的5个小技巧

在 compose 的定义中, g 将先于 f 执行,因此就创建了一个从右到左的数据 流。这样做的可读性远远高于嵌套一大堆的函数调用.

我们选择一些函数,让它们结合,生成一个崭新的函数。

reverse 反转列表, head 取列表中的第一个元素;

 

2019 年编写现代 JavaScript 代码的5个小技巧

但是我们这个这个compose不够完善,只能处理两个函数参数。redux源码有个很完备的compose函数,我们借鉴一下。

2019 年编写现代 JavaScript 代码的5个小技巧

有了这个函数,我们可以随意组合无数个函数。现在我们增加需求,组合出一个lastAndUpper函数,内容是先reverse 反转列表, head 取列表中的第一个元素, 最后toUpperCase大写。

2019 年编写现代 JavaScript 代码的5个小技巧

 

编辑:千锋web前端

作者:廖振廷
原文链接:https://zhuanlan.zhihu.com/p/54758068