写点什么

前端代码规范常见错误 二

作者:默默的成长
  • 2022-11-16
    山东
  • 本文字数:882 字

    阅读完需:约 3 分钟

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)

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


\

用户头像

还未添加个人签名 2022-10-11 加入

还未添加个人简介

评论

发布
暂无评论
前端代码规范常见错误 二_前端_默默的成长_InfoQ写作社区