#### Rest参数、spread扩展运算符
> ES6中已经引入,在ES9中为**对象**提供了像数组一样的rest参数和扩展运算符
* rest参数在对象中的应用
~~~
function connect({host,port,...user}){
console.log(host)
console.log(port)
console.log(user) // user是包含username和password的对象
}
conect({
host:'127.0.0.1',
port:3306,
username:'root',
password:'root'
})
~~~
~~~
// 传统方式,没用正则扩展
let str = '<a href="http://blog.mdashen.com">yishenBlog</a>'
const reg = /<a href="(.*)">(.*)<\/a>/
console.log(reg.exec(str)) //正则匹配href属性的值,和标签内容内容
// 正则扩展
const reg2 = /<a href="(?<url>.*)">(?<text>.*)<\/a>/ // 类似于给匹配到的内容起一个别名
~~~
~~~
let str = 'Js34342你知道吗555啦啦啦'
const reg = /\d+(?=啦)/ // 匹配后面是'啦'的数值 正向断言
const reg1 = /(?<=吗)\d+/ // 匹配前面是'吗'的数值 反向断言
~~~
> dot . 元字符 除换行符以外的任意单个字符
>
> const reg = /正则内容/s ,末尾增加s,使'.'可以匹配换行符
##### 正则扩展-dotAll模式
> 正则匹配时,有多个匹配到的内容;可以根据目标前面或后面,来对目标进行唯一性识别
##### 正则扩展-反向断言
![image-20200718100716330](http://image.mdashen.com/pic/image-20200718100716330.png)
##### 正则扩展-命名捕获分组
[正则基础知识-菜鸟教程](https://www.runoob.com/regexp/regexp-syntax.html) [自己总结的-xmind-蓝奏云-下载路径](https://mdashen.lanzous.com/iPO5Xepb7mj)
#### 正则扩展
![image-20200717222718056](http://image.mdashen.com/pic/image-20200717222718056.png)
> 可以将对象展开成key:value,的形式;与展开数组类似
* 扩展运算符在对象中的应用