let
变量不能重复声明
块级作用域
不存在变量提升
不影响作用域链
const
一定要赋初始值
一般常量使用大写
常量的值不能修改
块级作用域
解构赋值
模板字符串 ··
内容中可以直接出现换行符
变量拼接
let love='想'; let out=`${love}我的最爱`; console.log(out); 简化对象写法 ES6允许在大括号里面直接写入变量和函数,作为对象的属性和方法 箭头=>定义函数 this是静止的,始终指向函数声明时所在作用域下的this的值 不能作为构造实例化对象 不能使用arguments变量 箭头函数的简写: 1)省略小括号,当形参只有一个的时候 2)省略花括号,当代码体只有一条语句的时候 箭头函数适合与this无关的回调,定时器,数组的方法回调。 rest参数,用于获取参数的实参 ...args rest参数必须要放到参数最后 ...扩展运算法能将数组转化为逗号分割的参数序列 应用: 数组合并 数组克隆 将伪数组转换为真正的数组 数据类型symbol 1)Symbol的值是唯一的,用来解决命名冲突的问题 2)Symbol值不能与其他数据进行运算 3)Symbol定义的对象属性不能使用for..in循环遍历,但是可以使用Reflect.ownkeys来获取对象的所有键名 USONB symbol内置值,扩展对象功能 迭代器(Iterator) 任何数据结构只要部署lterator接口,就可以完成遍历操作。 生成器,ES6提供的一种异步解决方案 函数代码分隔符 function * gen(){ yield ‘zz’; } promise异步解决方案 使用promise读取文件
set(集合)