let命令
ES6新增了let命令,用来声明变量,用法类似于var,但是所声明的变量只在let代码块中生效,并且在代码块中,使用let命令声明变量之前,变量都是不可用的,这在语法上被称为暂时性死区。
let无法存在变量提升现象,所以变量一定要在声明之后使用,否则会报错。
let无法重复声明同一个变量,这与var是不同的。
let是为JavaScript新增了块级作用域。
const命令
const命令声明一个只读的常量,一旦声明,常量的值就不能改变。所以它一旦声明变量就必须立即初始化。
const的作用域与let命令相同:只在声明所在的块级作用域内有效,它也存在暂时性死区,无法重复声明
全局对象的属性
全局对象是最顶层的对象,在浏览器环境指的是window对象,在Node.js指的是global对象,ES5中全局变量的属性与全局变量是等价的。