ES6至ES12的新特性
我最常用的
ES6 的特性是使用最多的,包括类、模块化、箭头函数、函数参数默认值、模板字符串、解构赋值、延展操作符、Promise、let 与 const 等等,这部分已经是开发必备了,没什么好说的
另外还有:
- ES7 的
Array.prototype.includes() - ES8 的 async/await 、String padding:
padStart()和padEnd()、Object.values() - ES9 的 Rest/Spread 属性、for await of、
Promise.finally() - ES10 的
Array.prototype.flat()、Array.prototype.flatMap()、String 的trimStart()trimEnd() - ES11 的
Promise.allSettled、空值处理及可选链 - ES12 的逻辑赋值操作符、数字分隔符、
Promise.any()
最有用的
ES6 的特性都很有用,ES7-ES11 中,我比较感兴趣的是:
- ES8 的 async/await
- ES9 的 for await of
- ES11 的
Promise.allSettled、ES9 的Promise.finally()、ES12 的Promise.any() - 还有常用的逻辑操作:逻辑赋值操作符、数字分隔符、空值处理及可选链等都很大的简洁优化了我们的代码
其中,async/await 异步终极解决方案,for await of 异步串行,Promise.allSettled 解决了 Promise.all 的只要一个请求失败了就会抛出错误的问题,当我们一次发起多个请求时,所有结果都能返回,无论成功或失败,等等等,不了解的可以往下查找