1.输入框非空判断
利用空值合并运算符进行判断,例如:
if ((value ?? '') !== '') {
//...
}
2.并发请求方式
利用 Promise.all() 实现并发请求,例如:
const fn1 = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(1)
}, 300)
})
}
const fn2 = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(2)
}, 600)
})
}
const fn = () => {
Promise.all([fn1(), fn2()]).then((res) => {
console.log(res) // [1,2]
})
}
3.解构的合理使用
解构赋值来取值的常规操作,例如:
const obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5
}
const { a, b, c, d, e } = obj
const f = a + d
const g = c + e
变量名和对象的属性名转换的方式:
const obj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5
}
const {a:a1} = obj;
console.log(a1);
4.对象或者数组的合并
扩展运算符的使用:
const array1 = [1,2,3,4];
const array2 = [1,5,6,7];
const c = [...new Set([...array1,...array2])];//合并加去重
const obj1 = {
a:1,
}
const obj2 = {
b:1,
}
const obj = {...obj1,...obj2};
5.字符串拼接技巧
利用 ${} 可以放入javaScript表达式的特性,简化代码,例如:
const name = '老王';
const age = 80;
const result = `今天${age === 80?'是':'不是'}${name} 80岁大寿}`
6.条件语句判断
利用 includes 简化调价语句的判断,例如:
const condition = [1, 2, 3, 4]
if (condition.includes(type)) {
//...
}
7.数组扁平化处理
利用 object.value 获取对象的属性值,数组的扁平化处理使用flat方法,实现一个多维数组将对象的属性值组合到以一个数组里面。
const school = {
one: [1, 2, 3],
two: [5, 8, 12],
three: [5, 14, 79],
third: [3, 64, 105]
}
let member = Object.values(school).flat(Infinity)
console.log(member)