es7-11学习

一、es7新特性

1.1 cinludes

相当于indexof,,但是indexof返回是数数字,下标

1.2 指数操作符

二、 es8新特性

2.1. async和await函数:

(生成器函数和promise对象可以实现异步编程)

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

2.1.1 async函数

 在函数前面加async即可。

返回的结果是一个promise对象。promise对象的状态由对象来决定。如果返回的是失败的promise或者是错误,则返回的promise对象的状态也是失败的。

2.1.2. await  表达式

 await  得到的是promise对象成功的值。

 2.1.3 案例实践

 (1)异步读取三个文件

 (2)异步发送ajax请求

 

 用async来发送请求,用await来接收结果。

2.2 es8对象扩展

Object.keys(), Object.values(),  Object.entries()

设置对象的描述对象

三、es9

 3.1 rest参数和扩展运算符。

es6 中只针对数组,而es9中可以针对数组,也可以针对对象。

 (1)reset,只针对,形参

 (2)扩展运算符

对象的合并

 3.2 正则扩展

(1)命名捕获分组

使用下标来匹配

 使用分组来匹配:可以更好的维护。输出result.groups.url即可得到结果

 (2)反向断言

断言:根据目标的前面和后面对目标做唯一性的识别

正向断言:根据后面内容对目标做唯一性的识别

反向断言:根据前面内容对目标做唯一性的识别

 (3)dotAll模式

. 元字符:除换行以外的任意单个字符

dotAll模式,其实就是加了一个模式修正符s,此时的点(.)可以匹配任意字符。(否则还要单独匹配换行符很麻烦)

 

 四:es10

4.1 对象扩展方法  Object.fromEntries

Object.fromEntries(数组/Map)数组中一个长度为2的数组,使用该数组,可以将数字转化为对象。或者将Map转化为对象。

es8中,有Object.entries(对象)将对象转换为二维数组。

以上两个互为逆运算。

4.2  trimStart和trimEnd:清除左侧和右侧空白。

4.3 数组的两个方法:flat和flatMap

(1)flat:将多维数组转化为低位数组

const arr = [1,2,3,4,5,[6,7,[8,9]]];

console.log(arr.flat());   //[1,2,3,4,5,6,7,[8,9]]

console.log(arr.flat(2));    //[1,2,3,4,5,6,7,8,9]   传递的参数表示深度

(2)flatMap

 4.4 Symbol.prototype.description

获取symbol的描述字符串

 五、es11

5.1 私有属性:带有#,外部不能直接调用

5.2 Promise.allSettled和Promise.all

接收一个promise数组,返回的结果是一个promise对象,并且该对象的状态是成功的,成功的值是promise数组中每一个promise对象的状态和值。

根据需求,选择合适的函数

 5.3 String.prototype.matchAll

正则匹配。可以得到全部的匹配结果。

 5.4 可选链操作符

 5.5 import动态加载。

按需加载。

用的时候再导入。 

5.6 BigInt:新的数据类型:大整数

定义的时候,在普通整数后面加入n。主要用于大数值运算。

但是大整数不能与普通数值一起运算,两个数必须都是大整数才可以一起运算。

 5.7 绝对全局对象globalThis

该对象始终指向全局对象。直接使用即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值