- 支持
let和const,避免用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'