Js: ES新特性(一)

一、ES7新特性

1、Array.prototype.includes

定义: includes方法用来检测数组中是否包含某个元素,返回布尔类型值

2、指数操作符

定义: 在ES7中引入指数运算符\*\*,用来实现幂运算,功能与Math.pow()结果相同

语法:

复制代码
let result = 2 ** 10; // 1024

二、ES8 新特性

1、async和await

定义: async和await两种语法结合可以让异步代码像同步代码一样

  1. async函数特点

a、async函数的返回值为promise对象

b、promise对象的结果由async函数执行的返回值决定

  1. await表达式

a、await必须写在async函数中

b、await右侧的表达式一般为promise对象

c、await返回的是promise成功的值

d、await的promise失败了,就会抛出异常,需要通过try...catch捕获处理

2、Object.values和Object.entries

  1. Object.values()方法返回一个给定对象的所有可枚举属性值的数组

  2. Object.entries()方法返回一个给定对象自身可遍历属性key, value的数组

  3. Object.keys()方法返回一个给定对象的所有键名

三、ES9新特性

1、扩展运算符与rest参数

定义: rest参数与spred扩展运算符在ES6中已经引入,不过ES6中只针对于数组.

在ES9中为对象提供了像数组一样的rest参数和扩展运算符

2、正则扩展

  1. 命名捕获

  2. 反向断言

  3. dotAl模式

相关推荐
Ada's3 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
2601_962885723 小时前
如何用 Python 计算 TRIX 三重指数平滑均线指标?
开发语言·python
还卿一钵无情泪4 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
倔强的石头1065 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
传人once5 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
NeilYuen5 小时前
【C++】STL源码仿写(二):vector
开发语言·c++
用户033307413956 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey6 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
蜗牛互联网6 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
weixin_307779136 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab