ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。
1、变量声明
var,let,const
2、字符串拼接
`我说${s2}有丝`
3、解构赋值
支持数组、对象
4、数组复制
var arr1 = [1,2,3];
var arr2 = Array.from(arr1);
var arr2 = [...arr1];(...arr1表示一个数组,arr1是数组名)
5、Map对象
var o = new Map();//键值对的集合
map.set('a','apple');
map.get('a');
map.delete('a');
// 注意for..in是不能循环map对象的,用for..of
for(var name of map){
//循环出来的结果就是:a,apple b,banana 循环key,value
console.log(name);
}
//循环出来的结果就是: a,apple b,banana 循环key,value
for(var [key,value] of map.entries()){
console.log(key,value);
}
//只循环key
for(var key of map.keys()){
console.log(key);
}
//只循环value
for(var val of map.values()){
console.log(val);
}
6、箭头函数
(params)=>{语句;}
7、类和继承(class和extends)
8、模块化 export 和 import
9、对象合并
Object.assign(target,sourcel,sourde2);
10、异步同步:async和await promice和then
默认axios是异步请求,使用async和await可以将请求转换成同步模式
then中遇到reject,下面代码不会执行,如果想下面的代码执行,必须用try cache包住。
11、Object.is() 、==、===
==:等同,比较运算符,两边值类型不同的时候,先进行类型转换,再比较;
===:恒等,严格比较运算符,不做类型转换,类型不同就是不等;
Object.is():是ES6新增的相等的方法,与===的行为基本一致。改进了2处:+0不等于-0,NaN等于自身。
12、set是没有重复值的数组
var oSet = new Set([1,3,7]);
13、for-of和for-in
两种遍历的方式,
for-in遍历获得的是键(数组:序号下标,对象和Map:键名)
for-of 遍历获得的的是值(数组:值,对象和map:键值对)