大部分教程不会告诉你的 12 个 JS 技巧
在这篇文章中,作者将分享 12 个非常有用的 JavaScript 技巧,可以帮助你写出简洁且高性能的代码。
1. 过滤唯一值
ES6 引入了 Set 对象和延展(spread)语法…,我们可以用它们来创建一个只包含唯一值的数组。
const array = [1, 1, 2, 3, 5, 5, 1] const uniqueArray = [...new Set(array)]; console.log(uniqueArray); // Result: [1, 2, 3, 5]
在 ES6 之前,获得同样的数组需要更多的代码!
这个技巧可以支持包含原始类型的数组:undefined、null、boolean、string 和 number。但如果你的数组包含了对象、函数或其他嵌套数组,就不能使用这种方法了。
2. 在循环中缓存数组长度
在我们学习使用 for 循环时,一般建议使用这种结构:
for (let i = 0; i < array.length; i ){ console.log(i); }
在使用这种方式时,for 循环的每次迭代都会重复计算数组长度。
有时候这个会很有用,但在大多数情况下,如果能够缓存数组的长度会更好,这样只需要计算一次就够了。我们可以把数组长度复制给一个叫作 length 的变量,例如:
for (let i = 0, length = array.length; i < length; i ){ console.log(i); }
这段代码和上面的差不多,但从性能方面来看,即使数组变得很大,也不需要花费额外的运行时重复计算 array.length。
3. 短路求值
使用三元运算符可以很快地写出条件语句,例如:
x > 100 ? "Above 100" : "Below 100"; x > 100 ? (x > 200 ? "Above 200" : "Between 100-200") : "Below 100";
但有时候三元运算符仍然很复杂,我们可以使用逻辑运算符