let
- 在同一个作用域内不能重复的定义同一个名称
- var存在变量提升,let不存在
- var 是函数作用于 let是块级作用域(相当于在{}中起作用)
例如:
function fun(){
let s = 10;
if(true){
let s = 100;
console.log(s) // 100
}
console.log(s) // 10
}
const
- 声明一个只读的常量,一旦声明,常量的值不能改变
- 定义的必须初始化,赋值处理,不能只定义不赋值。
const s1; //error
- 定义的对象或数组里面的值可以修改。
const obj = {};
obj.name = '123';
const arr = [];
arr.push(1);
箭头函数 (简化了函数的定义)
let f = v => v;
f(10); // 10
let f1 = () => {
return 10;
}
f1(); //10
Set
- 类似与数组,成员信息是唯一的
const arr = new Set();
arr.add(1);
arr.add(2);
console.log(arr) // [1,2]
arr.add(2).add(1).add(2).add(3);
console.log(arr) //2,1,3 重复的被去掉
去重
let arr = [1,2,3,4,2,1,2,4,5,6,2];
let arr2 = [...new Set(arr)];
console.log(arr2)
Map
- 类似与对象,键值对的方式(键可以是任何类型)
const map = new Map();
map.set('name','map');
map.get('name');
map.size //获取长度
for...of
for(let [key,value] of map){}