ES6 值得记录的一些点

92 阅读1分钟

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)