揭秘JS:你可能不知道的12个实用技巧

发表时间: 2019-06-24 21:55

在这篇文章中,作者将分享 12 个非常有用的 JavaScript 技巧,可以帮助你写出简洁且高性能的代码。

1. 过滤唯一值

ES6 引入了 Set 对象和延展(spread)语法…,我们可以用它们来创建一个只包含唯一值的数组。

在 ES6 之前,获得同样的数组需要更多的代码!

这个技巧可以支持包含原始类型的数组:undefined、null、boolean、string 和 number。但如果你的数组包含了对象、函数或其他嵌套数组,就不能使用这种方法了。

2. 在循环中缓存数组长度

在我们学习使用 for 循环时,一般建议使用这种结构:

在使用这种方式时,for 循环的每次迭代都会重复计算数组长度。

有时候这个会很有用,但在大多数情况下,如果能够缓存数组的长度会更好,这样只需要计算一次就够了。我们可以把数组长度复制给一个叫作 length 的变量,例如:

这段代码和上面的差不多,但从性能方面来看,即使数组变得很大,也不需要花费额外的运行时重复计算 array.length。

3. 短路求值

使用三元运算符可以很快地写出条件语句,例如:

但有时候三元运算符仍然很复杂,我们可以使用逻辑运算符 && 和||来替代,让代码更简洁一些。这种技巧通常被称为“短路求值”。

假设我们想要返回两个或多个选项中的一个,使用 && 可以返回第一个 false。如果所有操作数的值都是 true,将返回最后一个表达式的值。

使用||可以返回第一个 true。如果所有操作数的值都是 false,将返回最后一个表达式的值

示例 1

假设我们想要返回一个变量的 length,但又不知道变量的类型。

我们可以使用 if/else 来检查 foo 是否是一个可接受的类型,但这样会让代码变得很长。这个时候可以使用短路求值......

查看余下全文,可点击了解更多