想要学习更多,推荐看阮大神的http://es6.ruanyifeng.com/#docs/letes6
ES5 中做用域有:全局做用域、函数做用域。没有块做用域的概念。函数
ES6 中新增了块级做用域。块做用域由 { } 包括,if语句和 for语句里面的{ }也属于块做用域。学习
ES6 容许块级做用域的任意嵌套spa
ES6 新增的let
命令,能够用来声明变量。它的用法相似于var
,可是所声明的变量,只在let
命令所在的代码块内有效。code
let命令适合用在for循环中,计数器i只在for
循环体内有效,在循环体外引用就会报错blog
var
命令会发生”变量提高“现象,即变量能够在声明以前使用,值为undefined
。作用域
let
命令改变了语法行为,它所声明的变量必定要在声明后使用,不然报错。for循环
let
不容许在相同做用域内,重复声明同一个变量。变量
const
声明一个只读的常量。一旦声明,常量的值就不能改变。循环