sublime3安装Es6插件 javascriptNext,然后安装即可 Java?Script?Next - ES6 Syntax()高亮插件 ----------------------------------------------------------------- let、const命令 与var声明 let块级作用域 let不允许在代码块内重复声明一个变量 function aa(){ let a=3 { let a=5 //子作用域 } } 使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象; 使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升; 使用const声明的是常量,在后面出现的代码中不能再修改该常量的值。 ----------------------------------------------------------------- 数组结构: let [a,b,c,d] = ["aa","bb","23","44"] 对象解构 函数参数解构 ----------------------------------------------------------------- Symbol(值类型数据,唯一的) let a = 3 let b = 3 alert(a=b) //true ------------------- let a = Symbol(3) let b = Symbol(3) alert(a=b)//false ----------------------------------------------------------------- Set var set = new Set([1,2,3,4,5,2,8,4])//自动合并了重复值 for(var key in set){ console.log(key) //1,2,3,4,5,8 } --------------------------------- let arr = [1,2,3,4,2,86,4] arr.map(function(item){ set add(elem) //添加元素 }) map---->Es5语法 ----------------------------------------------------------------- WeakSet(与Set类似唯一区别就是成员只能是对象) var weakset = new WeakSet(); ----------------------------------------------------------------- Map遍历 键可以是各种类型 let obj1 = {}; let obj2 = {}; let obj = new Object(); obj[obj1] = 33; obj[obj2] = 66; for(let key in obj){ console.log(key) //只循环出一个object } --------------------------------------- var mapData = new Map(); var obj1 = {}; var obj2 = {}; mapData.set(obj1,"22") //添加新元素 mapData.set(obj2,"22") //添加新元素 console.log(mapData.get("obj1")) //获取键 console.log(mapData.has("obj1")) //判断是否含有键 console.log(mapData.delete("obj1")) //删除键 mapData.clear() //清空