es6学习笔记(1):let,const,箭头函数,Set Map

99 阅读1分钟

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){}