一、箭头函数:
()=> {
语句
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<名字>