【记录】前端开发中那些常用的简写方式

1、多行声明

let num = 0; let newColor = 'blue' let nameList = [] /*----------这种,格式化后不再优雅------------*/ let num=0, newColor = 'blue', nameList = []; //改成 ---/也常用于两个变量值的交换 let [ num,newColor,nameList ] = [ 0,'blue',[] ]

2、后台参数状态码转换
switch(num){ case 0: status = '待处理' break; case 1: status = '处理中' break; case 2: status = '已处理' break; }//数字状态码转文字 const status = ['待处理','处理中','已处理'][num]//文字转数字状态码 const status = ['待处理','处理中','已处理'].indexOf('已处理')

3、属性名转中文
switch(str){ case "name": return '名称'; case "age": return '年龄'; case "city": return '城市' default: return '无此项' }//改成 const newObj = { name:"名称", age:"年龄", city:"城市", } return newObj[str] || '无此项'

4、if 赋值语句改为三元表达式
if(code === 200){ tips = '上传成功' }else{ tips = '上传失败' }//改成 const tips = code === 200 ? '上传成功' : '上传失败'

5、空值合并(0也算一个值)
if(num || num == 0){ return num }else{ return '-' }//改成 ---/ 如果 num 的值为 undefined 或 null 则返回 '-' 占位 num ?? '-'

6、多个”或“判断
if(city == '深圳' || city == '广州' || city == '上海' || city == '北京'){}//改成 if(['深圳','广州','上海','北京'].includes(city)){}

7、链式判断
const newObj = { name:"肥尸", address:{ street:"钵兰街" } }if(newObj && newObj.address && newObj.address.street){}//改成 if(newObj?.address?.street){ alert('好家伙,肥尸你藏得够深啊~') }

8、对象合并---数组合并---数组去重
const params1 = { startTime:"", endTime:"", } const params2 = { ...params1, name:"", }const newArr1 = ['用户1','用户2','用户3'] const newArr2 = [...newArr1,'用户4','用户5']const newArr3 = [1,1,2,2,3,3,4,5,6,6,7,8,8,9,10,10] const newArr4 = [...new Set(newArr3)]

9、对象结构
const newObj = { name:"脑中忽然浮现出她的名字", age:22 } const name = newObj.name; const age = newObj.age; //改成 const { name,age } = newObj

10、Math方法
/* Math.floor 取整*/ let num = 10.56 Math.floor(num) //10 ~~num //10/* Math.pow 幂运算*/ let [min,max] = [2,6] Math.pow(min,max) //64 min**max //64

【【记录】前端开发中那些常用的简写方式】11、字符串补全长度
//前补齐 ---/常用于对时间位数的补齐 '9'.padStart(2,'0') //09//后补齐 '优'.padEnd(2,'等') //优等

12、最新的 ES2021 逻辑赋值运算符 ??= ,&&= 和 ||=
if(value){ value = https://www.it610.com/article/value }else{ value ='默认值' }//等同 value ??= '默认值'//例子 10 ??= '默认值' //10 null ??= '默认值' //默认值

其实都是一些 ES6/7/8/9/10/11/12新特性而已,项目中我也常常会用到,一定程度上简化了代码量,看起来也优雅些。
互补建议:前端开发规范>>>

    推荐阅读