2021年前端开发者需要知道的34种JS优化技巧

论坛 期权论坛     
选择匿名的用户   2021-5-30 00:11   209   0
<div id="js_content">
<p style="text-align: center">星标公众号 前端开发博客,回复“加群”</p>
<p style="text-align: center">加入我们一起学习,天天进步</p>
<p style="text-align: left"><img src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-f3dcf340516276735ce01cfeba48e537.png"></p>
<p style="text-align: left">作者丨 Atit</p>
<p style="text-align: left">译者丨王者</p>
<p style="text-align: left">策划丨田晓旭</p>
<p>开发者总是在学习新东西,而跟上这些技术的变化不应该比之前更难。我写这篇文章的目的是介绍 JavaScript 的一些最佳实践,作为前端开发人员,掌握了这些最佳实践会让我们在 2021 年的工作变得更轻松。</p>
<p>你可能做了很长时间的 JavaScript 开发,但有时候你可能没有使用最新的 JavaScript 特性或技巧,这些特性和技巧可以在不需要编写额外代码的情况下解决你的问题。它们可以帮助你写出干净且优化的 JavaScript 代码。此外,如果你在 2021 年准备去参加面试,可以参考本文的内容。</p>
<p style="text-align: center">1. 带有多个条件的 if 语句</p>
<p>把多个值放在一个数组中,然后调用数组的 includes 方法。</p>
<pre class="blockcode"><code class="language-go">//longhand
if (x &#61;&#61;&#61; &#39;abc&#39; || x &#61;&#61;&#61; &#39;def&#39; || x &#61;&#61;&#61; &#39;ghi&#39; || x &#61;&#61;&#61;&#39;jkl&#39;) {
    //logic
}
//shorthand
if ([&#39;abc&#39;, &#39;def&#39;, &#39;ghi&#39;, &#39;jkl&#39;].includes(x)) {
   //logic
}
</code></pre>
<p style="text-align: center">2. 简化 if true...else</p>
<p>对于不包含大逻辑的 if-else 条件,可以使用下面的快捷写法。我们可以简单地使用三元运算符来实现这种简化。</p>
<pre class="blockcode"><code class="language-go">// Longhand
let test: boolean;
if (x &gt; 100) {
    test &#61; true;
} else {
    test &#61; false;
}
// Shorthand
let test &#61; (x &gt; 10) ? true : false;
//or we can use directly
let test &#61; x &gt; 10;
console.log(test);
</code></pre>
<p>如果有嵌套的条件,可以这么做。</p>
<pre class="blockcode"><code class="language-go">let x &#61; 300,
test2 &#61; (x &gt; 100) ? &#39;greater 100&#39; : (x &lt; 50) ? &#39;less 50&#39; : &#39;between 50 and 100&#39;;
console.log(test2); // &#34;greater than 100&#34;
</code></pre>
<p style="text-align: center">3. 声明变量</p>
<p>当我们想要声明两个具有相同的值或相同类型的变量时,可以使用这种简写。</p>
<pre class="blockcode"><code class="language-go">//Longhand
let test1;
let test2 &#61; 1;
//Shorthand
let test1, test2 &#61; 1;
</code></pre>
<p style="text-align: center">4. null、undefined 和空值检查</p>
<p>当我们创建了新变量,有时候想要检查引用的变量是不是为非 null 或 undefined。JavaScript 确实有一个很好的快捷方式来实现这种检查。</p>
<pre class="blockcode"><code class="language-go">// Longhand
if (test1 !&#61;&#61; null || test1 !&#61;&#61; undefined || test1 !&#61;&#61; &#39;&#39;) {
    let test2 &#61; test1;
}
// Shorthand
let test2 &#61; test1 || &#39;&#39;;
</code></pre>
<p style="text-align: center">5. null 检查和默认赋值</p>
<pre class="blockcode"><code class="language-go">let test1 &#61; null,
    test2 &#61; test1 || &#39;&#39;;
console.log(&#34;null check&#34;, test2); // output will be &#34;&#34;
</code></pre>
<p style="text-align: center">6. undefined 检查和默认赋值</p>
<pre class="blockcode"><code class="language-go">let test1 &#61; undefined,
    test2 &#61; test1 || &#39;&#39;;
console.log(&#34;undefined check&#34;, test2); // output will be &#34;&#34;
</code></pre>
<p>一般值检查</p>
<pre class="blockcode"><code class="language-go">let test1 &#61; &#39;test&#39;,
    test2 &#61; test1 || &#39;&#39;;
console.log(test2); // output: &#39;test&#39;
</code></pre>
<p>另外,对于上述的 4、5、6 点,都可以使用?? 操作符。</p>
<p>如果左边值为 null 或 undefined,就返回右边的值。默认情况下,它将返回左边的值。</p>
<pre class="blockcode"><code class="language-go">const test&#61; null ?? &#39;default&#39;;
console.log(test);
// expected output: &#34;default&#34;
const test1 &#61; 0 ?? 2;
console.log(test1);
// expected output: 0
</code></pre>
<p style="text-align: center">7. 给多个变量赋值</p>
<p>当我们想给多个不同的变量赋值时,这种技巧非常有用。</p>
<pre class="blockcode"><code class="language-go">//Longhand
let test1, test2, test3;
test1 &#61; 1;
test2 &#61; 2;
test3 &#61; 3;
//Shorthand
let [test1, test2, test3] &#61; [1, 2, 3];
</code></pre>
<p style="text-align: center">8. 简便的赋值操作符</p>
<p>在编程过程中,我们要处理大量的算术运算符。这是 JavaScript 变量赋值操作符的有用技巧之一。</p>
<pre class="blockcode"><code class="language-go">// Longhand
test1 &#61; test1 &#43; 1;
test2 &#61; test2 - 1;
test3 &#61; test3 * 20;
// Shorthand
test1&#43;&#43;;
test2--;
test3 *&#61; 20;
</code></pre>
<p style="text-align: center">9. if 判断值是否存在</p>
<p>这是我们都在使用的一种常用的简便技巧,在这里仍然值得
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP