ES6

65 阅读1分钟
  • 支持letconst,避免用var声明变量,引发变量提升问题
  • 模块化,使用export(导出)和import...from(导入),从文件中导出和导入变量和方法
  • 解构赋值:数组和对象中取值,(对象结构可以修改默认变量名)(交换两个变量的值)
  • 扩展运算符...
  • 函数参数设置默认值
  • 对象属性的简写:当变量的属性名称和值一样的时候可以简写
let a = 1;
let obj = {
    a
}
  • async/await
  • 支持 includes 方法,[].includes('a')
  • 指数操作符
// 2的10次方
2**10 // 1024
  • 为了更好的操作对象,支持Object.keys()Object.values()Object.entries()

    • Object.keys() 获取对象中key值的集合
    • Object.values() 获取对象中值的集合
    • Object.entries() 获取对象中键值对的集合
    let obj = { 
        a: 1,
        b: 2,
        c: 3
    }
    Object.keys(obj) // ['a', 'b', 'c']
    Object.values(obj) // [1, 2, 3]
    Object.entries(obj) // [['a', 1], ['b', 2], ['c', 3]]
    
  • null传导运算符?.:当左侧的值返回不为null和undefined的时候,就会取到右侧的值

const info = message?.body?.data?.info
  • null判断运算符??:当左侧的值返回不为null和undefined的时候,就会返回左侧的值。否则会返回右侧的值
const info = response.data ?? '400'