从ES5到ES10,JavaScript有哪些重大改进?
ES5 (2009)
严格模式:通过"[文];use strict"启用[章],提供更严格的语法检查和错误[来]处理
JSON支持:原生JSO[自]N.parse()和JSON[一].stringify()方法[道]
数组方法:新增forEa[,]ch、map、filter、[一]reduce等高阶函数
函数绑定:Functio[个]n.prototype.bi[分]nd方法
ES6/ES2015
箭头函数:() => {}语法,自动绑定this[享]
模块化:import/e[的]xport语法替代requi[网]re
类语法:class和ex[站]tends关键字
解构赋值:const {name, age} = person
Promise:原生异步[文]解决方案
ES7 (2016)
数组方法:Array.p[章]rototype.inclu[来]des()
指数运算符:**运算符[自]
ES8 (2017)
异步迭代:for await...of循环
对象扩展:Object.[一]values()和Objec[道]t.entries()
字符串填充:padSta[,]rt()和padEnd()方[一]法
ES9 (2018)
Promise改进:Pr[个]omise.finally([分])方法
正则表达式:命名捕获组和[享]u标志
ES10 (2019)
数组方法:Array.p[的]rototype.flat([网])和flatMap()
可选链:?.运算符避免深[站]层属性访问错误
空值合并:??运算符提供[文]默认值
