常用技巧
數(shù)據(jù)類(lèi)型轉(zhuǎn) Boolean
!!0; // false
!!undefined; // false
!!null; // false
!!(()=>{}); // true
解構(gòu)交換兩數(shù)
不使用臨時(shí)變量的情況下,交換兩數(shù)
let a = 1, b = 2;
[a, b] = [b, a]; // [2, 1]
短路賦值
初始化參數(shù),并賦予其默認(rèn)值
let param = test_param || [];
- if 判斷優(yōu)化
當(dāng) if 判斷中存在多種情況時(shí),如:
if(param === 1 || param === 2 || param === 3){
// do something
}
考慮使用數(shù)組進(jìn)行優(yōu)化
if([1, 2, 3].includes(param)){
// do something
}
- 動(dòng)態(tài)正則匹配
eval 生成正則表達(dá)式
let str = 'hello world ';
let reg1 = `/hello/g`;
let reg2 = `/world/g`;
eval(reg1).test(str); // true
eval(reg2).test(str); // true
- 清空對(duì)象中空值
let params = Object.assign({},this.form)
for(let k in params){
if(params[k] !== 0 && !params[k]){
delete params[k]
}
}