用ES6的解构赋值来取值
const {a,b,c,d,e} = obj;
const f = a + d;
const g = c + e;
如果想创建的变量名和对象的属性名不一致,可以这么写:
const {a:a1} = obj;
console.log(a1);// 1
ES6的解构赋值虽然好用。但是要注意解构的对象不能为undefined、null。否则会报错,故要给被解构的对象一个默认值。
const {a,b,c,d,e} = obj || {};
合并两个数组,合并两个对象
const a = [1,2,3];
const b = [1,5,6];
const c = [...new Set([...a,...b])];//[1,2,3,5,6]
const obj1 = {
a:1,
}
const obj2 = {
b:1,
}
const obj = {...obj1,...obj2};//{a:1,b:1}
拼接字符串
const result = `${name}的考试成绩${score > 60?'':'不'}及格`
if中判断条件改进
if(
type == 1 ||
type == 2 ||
type == 3 ||
type == 4 ||
){
//...
}
//改进
const condition = [1,2,3,4];
if( condition.includes(type) ){
//...
}
ES6中的可选链操作符
const name = obj && obj.name;
//改进
const name = obj?.name;
关于输入框非空的判断
在处理输入框相关业务时,往往会判断输入框未输入值的场景。
```javascript
if(value !== null && value !== undefined && value !== ''){
//...
}
//改进
if((value??'') !== ''){
//...
}
并发请求时,还是要用到Promise.all()
const fn = () =>{
Promise.all([fn1(),fn2()]).then(res =>{
console.log(res);// [1,2]
})
}