let声明变量(来w3cscholl)
- let声明变量不会进行预解释(不存在变量提升);
- 不允许重复声明
- 块级作用域
- {code} -》代码块
- 暂时性死区(TDZ):只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。
- let声明的并不等价于window的一个全局属性
const 声明一个只读的常量
- 定义后不可以修改
- 同let一样,也会产生一个块级作用域
- 不存在变量提升
解构赋值:把数组和对象中的值取出,赋给变量
1234567891011// var a = 1;// var b = 2;//var c = 3;//ES6允许写成下面这样。var [a, b, c] = [1, 2, 3];//交换赋值:[a,b,c]=[c,a,b];//a->3//b->1//c->2
数组的一些新方法
- Array.from(obj) ->
- Array.of()创建一个数组的实例
- 遍历12345var arr=[5,5]for(var [key,value] of arr.entries()){console.log(key+":"+value)}
将类数组转化为数组
- let newArr=[…divs];123var arr=[1,2,3,4,5];let[aa,...reset]=arr;reset -> [2,3,4,5]