一,常量,变量
const :常量,用法 const info='hello es6';
特点:首次赋值之后,之后不可对常量进行赋值。也不可重复声明一个常量;
作用域:块级作用域;
let :块级变量(var是函数作用域变量),用法 let info='hello es6';
特点:首次赋值之后,可以进行修改和再赋值,不可重复声明一个变量;
作用域:块级作用域;
二,模式匹配和解构赋值
1,模式匹配
用法:1. [a,b,c]=[1,2,3];
2. [[a,b],c]=[[1,2],3];
特点:左侧和右侧格式、顺序一样;
2,解构赋值
用法:1. {title,name,age}={"title":"标题","name":"杨树",age:"22"};
2.{title,[name,age]}={"title":"标题",[age:"22","name":"杨树"]};
特点:左侧和右侧格式相同,可以不考虑排序;
三,Array
a).复制数组
1,Array.from();
用法:let arr=[1,2,3];
arr2=Array.from(arr);
作用:复制数组,修改arr2数组不影响arr数组;
2,... 超类
用法:let arr=[1,2,3];
arr2=[...arr];
作用:复制数组,修改arr2数组不影响arr数组;
b).循环(for in&for of 对比)
1.for in—— for( var i in arr){console.log(i)}
i为得到的数组的索引,0,1,2,3.......
2.for of——for(var i of arr){console.log(i)} *(for of主要循环map对象)*
i为得到的数组的每一项的值,'apple','banana','orunge'.........
四,map对象
1,通常使用
新对象 let oMap=new Map();
设置内容 oMap.sest("a","apple");
获取一项内容 oMap.get("a");
删除一项内容 oMap.delete("a");
2,for of循环map对象
a) for(item of oMap){ *item of oMap等于item of oMap.entries*
console.log(item); //["a","apple"]
//["b","bannana"]
}
b) for([key,value] of oMap){
console.log(key); // "a"
// "b"
console.log(value); // "apple"
// "banana"
}
c) for(item of oMap.keys()){
console.log(item); //a
//b
}
for(item of oMap.values()){
console.log(item); //apple
//banana
}