• 前端代码规范常见错误 二


    6、老生常谈 forEach、map 的使用

    先看下面的代码,map 中有一个 if 判断,当条件成立返回一个新的对象,此时会有一个问题,遍历数组中不满足的条件的会返回一个 undefined,此时再用 filter 是可以过滤掉,但是此时我们将遍历循环两次,推荐可以使用 forEach 一次遍历将事情处理完毕。

    性能方面,取决于遍历时执行的事情的快慢,从本质上来说,他们性能差距不大,当然 for 还更快,但是不利于代码的阅读

    \

    在我们要遍历一个数组的时候,请记住一个原则:如果需要操作数组中每个元素(比如计算返回新的值),返回一个新的数组,且不需要改变原数组,那么使用 map,其他遍历大概率请使用 forEach,不管是性能及内存的使用都是有利的,当然也不完全死的,需要我们在写代码的时候更加严谨的思考。

    \

    7、switch 中 break 的使用

    我们都很清楚其实在 switch 中使用 break 还是 return 都是可以的,大部分时候是一致,但是也有意外情况,如果是在一个需要 return 的函数中去使用 switch,那么此时 return 会直接跳出当前进程,出现意料之外的情况,所以和大家约定,不管什么情况下,都使用配套的关键字 break,此外,在严格规范下,已经要有 default 进行兜底,除非你对传进来的参数的值非常确定,否则请加上,这也是代码健壮的体现。

    8、判断返回 boolean

    判断返回的就是一个 boolean 值!这样的地方非常多请大家注意,给人看到都会脸红的

    \

    9、尽量区别变量名的重复使用

    10、多层 if 判断,增加代码性能负担

    不推荐写法:

    推荐写法:这样写法,更清晰

    11、重复申明

    \

    12、(Vue)不要在 computed 中改变页面变量的值,如果需要改变,请使用 watch

    不推荐写法:

    推荐写法:

    \

    13、禁止再循环中出现 await(no-await-in-loop)

    在迭代器的每个元素上执行运算是个常见的任务。然而,每次运算都执行 await,意味着该程序并没有充分利用 async/await 并行的好处。

    通常,代码应该重构为立即创建所有 promise,然后通过 Promise.all() 访问结果。否则,每个后续的操作将不会执行,直到前一个操作执行完毕。

    不推荐写法:

    推荐写法:

    14、禁止条件表达式中出现赋值操作符(no-cond-assign)

    在条件语句中使用赋值操作符是有效的,而且条件始终执行,这样是很不靠谱的逻辑行为

  • 相关阅读:
    网络攻击者和防御者利用AI的攻防战愈演愈烈
    【Python】快速上手 Flask
    【1day】复现H3C多系列路由器敏感信息泄露漏洞
    【JavaEE】常见的锁策略 -- 多线程篇(4)
    有些段子,外行人根本看不懂,只有程序员看了会狂笑不止
    SQL—数据库查询语言,全面详解演示,入门进阶必会
    使用canal实现数据实时同步
    SDH设备
    【Java 进阶篇】JQuery 遍历 —— For 循环的奇妙之旅
    python中的异常处理try-except-else-finally
  • 原文地址:https://blog.csdn.net/weixin_43044226/article/details/127889642