ES6
介绍ES就是JS的原名,ES6发布于2015年
letlet与var的差别
let不能重复声明
123456789// varvar j = 10;var j = 20;// letlet i = 10;// 下面这句代码是非法的,报错i已被声明,let i = 20;// let之前如果是var先声明,则第一次let可以将其覆盖// var之前如果let已经声明,则会报错
let有块级作用域,即使是非函数的花括号范围,使用let在其中定义的变量也只能在其中访问
1234567{ var ii = 19; let ik = 10;}console.log(ii);// 报错ik未定义console.log(ik);
let不会预解析进行变量提升
没有声明之前先访问,var会将改变量赋值为undefind,let会报错(not defind)
let定义的全局变量不会作为window的属性
var 一个变量的时候,改变量会变为window对象的属性
let在es6中推荐使用
const特性与let相同,除此以外
定义出的变量 ...