/技术
分类:技术最近更新:2026-04-15浏览:1446
每次评审自己或小伙伴的代码时,都忍不住想吐槽一些写法,今天梳理总结一下,日常开发中如何让代码写得更漂亮、更优雅。
javascriptconst obj={a:1,b:2,c:3} // 从对象中取值,并计算时 // 吐槽 const a = obj.a; const b = obj.b; const c = obj.c; const f=a+b+c; // 修改 =>采用ES6解构 const {a,b,c} = obj; // 如果从后端取值,不是自己想要的键值,可以设置别名,同时要防止后端返回的不是对象 const {a:_a,b,c}=obj||{};
javascriptconst a = [1,2,3]; const b = [1,5,6]; // 在ES6之前,我们习惯用concat const c=a.concat(b); // 可以采用ES6 const c= [...a,...b] // 如果考虑去重 const c = [...new Set([...a,...b])];
javascript// 吐槽 if( type == 1 || type == 2 || type == 3 || type == 4 || ) // 优化 const condition = [1,2,3,4]; if( condition.includes(type) )
如果可以断定,查找的结果最多一个,建议用 find,因为 find 检索到目标后就会退出循环,性能更优。
javascript// 吐槽 const name = obj && obj.name; // 优化 const name = obj?.name;
javascript// 吐槽 if(value !== null && value !== undefined && value !== '') // 优化 if((value??'') !== '')
javascript// 1、画手添足定义变量 const len=8; // 多余布尔转换判断 let test = x > 10 ? true : false; if(test) // 优化 if(x>10)
javascript// 吐槽 switch (data) { case 1: test1(); break; case 2: test2(); break; case 3: test(); break; //... } // 优化 const data=[test1,test2,test3] data[type-1] && data;
不怎么建议用,可读性太差,日常优先使用
includes
javascript// 原本 if (arr.indexOf(item) > -1) { // item found } if (arr.indexOf(item) === -1) { // item not found } // 优化 if (~arr.indexOf(item)) { // item found } if (!~arr.indexOf(item)) { // item not found }
上一篇:Typescript没有那么好用
下一篇:web前端入坑指南