ES6、ES7、ES8、ES9、ES10 新特性ECMAScript版本简介
ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言
ES6新特性(2015)
ES6的特性比较多,在 ES5 发布近 6 年(2009-11 至 2015-6)之后才将其标准化。两个发布版本之间时间跨度很大,所以ES6中的特性比较多。在这里列举几个常用的:
- 类
- 模块化
- 箭头函数
- 函数参数默认值
- 模板字符串
- 解构赋值
- 延展操作符
- 对象属性简写
- Promise
- Let与Const
ES7新特性(2016)
ES2016添加了两个小的特性来说明标准化过程:
- 数组includes()方法,用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。
- a ** b指数运算符,它与 Math.pow(a, b)相同
ES8新特性(2017)
- async/await
Object.values()
Object.entries()
- String padding:
padStart()
和padEnd()
,填充字符串达到当前长度 - 函数参数列表结尾允许逗号
Object.getOwnPropertyDescriptors()
ShareArrayBuffer
和Atomics
对象,用于从共享内存位置读取和写入
ES9新特性(2018)
- 异步迭代
- Promise.finally()
- Rest/Spread 属性
- 正则表达式命名捕获组(Regular Expression Named Capture Groups)
- 正则表达式反向断言(lookbehind)
- 正则表达式dotAll模式
- 正则表达式 Unicode 转义
- 非转义序列的模板字符串
ES10新特性(2019)
- 行分隔符(U + 2028)和段分隔符(U + 2029)符号现在允许在字符串文字中,与JSON匹配
- 更加友好的 JSON.stringify
- 新增了Array的
flat()
方法和flatMap()
方法 - 新增了String的
trimStart()
方法和trimEnd()
方法 Object.fromEntries()
Symbol.prototype.description
String.prototype.matchAll
Function.prototype.toString()
现在返回精确字符,包括空格和注释- 简化
try {} catch {}
,修改catch
绑定 - 新的基本数据类型
BigInt
- globalThis
- import()
- Legacy RegEx
- 私有的实例方法和访问器
还没有评论,来说两句吧...