常用技巧
数据类型转 Boolean
!!0; // false
!!undefined; // false
!!null; // false
!!(()=>{}); // true
解构交换两数
不使用临时变量的情况下,交换两数
let a = 1, b = 2;
[a, b] = [b, a]; // [2, 1]
短路赋值
初始化参数,并赋予其默认值
let param = test_param || [];
- if 判断优化
当 if 判断中存在多种情况时,如:
if(param === 1 || param === 2 || param === 3){
// do something
}
考虑使用数组进行优化
if([1, 2, 3].includes(param)){
// do something
}
- 动态正则匹配
eval 生成正则表达式
let str = 'hello world ';
let reg1 = `/hello/g`;
let reg2 = `/world/g`;
eval(reg1).test(str); // true
eval(reg2).test(str); // true
- 清空对象中空值
let params = Object.assign({},this.form)
for(let k in params){
if(params[k] !== 0 && !params[k]){
delete params[k]
}
}