一、箭头函数:

  ()=> {

    语句

    return

  }

1、this问题,定义函数所在的对象,不在是运行时所在的对象

2、箭头函数里面没有arguments,用“...”

3、箭头函数不能当构造函数

二、三个点

1、let arr = ['apple','banana','orange'];

console.log(arr);

console.log(...arr);

输出:['apple','banana','orange']

    apple banana orange

2、function show(a,b,...c){

  console.log(a,b);

  console.log(c);

}

show(1,2,3,4,5,6,7);

输出:  1 2 

    3 4 5 6 7

三、数组

1、arr.forEach()

2、arr.map()

3、arr.filter()   过滤一些不合格的“元素“,如果回调函数返回true,就留下

4、arr.some()    类似查找,数组里所有的元素都满足,才返回true

5、arr.every()     数组里面所有的元素都要符合条件,才返回true

6、arr.reduce()  从左往右的 ,阶乘、求和

7、arr.reduceRight()  从右往左

8、Array.from()   把类数组换成数组

9、Array.of()  把一组值转成数组

10、arr.find()  查找第一个满足条件的元素,如果没找到返回undefined

11、arr.findIndexof()  查找位置,没找到返回-1

12、arr.fill()  填充   arr.fill(填充的东西,开始位置,结束位置)

13、ES2016新增

四、ES2018(ES9)

1.命名捕获

var str1 ="2018-03-20";

var reg1  = /(?<years>\d{4})-(?<month1>\d{2})-(?<day1>\d{2})/;

var  {years,month1,day1} = str1.match(reg1).groups;

console.log(years,month1,day1);

console.log(str1.match(reg1).groups);

 

输出:2018,03,20

     {year:'2018',month:'03',day:'20'}

反向引用:\1 \2  $1  $2

反向引用命名捕获 语法: \K<名字>