ECMAScript 6 第一天 let和const命令

ES6新加表明变量的办法let命令,const命令。

(ES5才暴发些许栽阐明变量的章程:var命令和 function命令。)

let命令,用来声称变量。

跟var注明变量不同让:

1.
 let扬言变量不在变量提高。(一定要先行阐明在利用否则报错 )。

2.
 let指令不同目的在于同一功效域内,重复表明与一个变量。

3.
 let宣称的变量,只于let一声令下所在的代码块内中。

4.
设块级功能域内存在let令,它所表明的变量就“绑定”(binding)那个区域,不再受外部的熏陶。

ES6的let命令骨子里为JavaScript新增了块级效用域。

有关函数表明

1.
制止在块级效率域内声明函数。(假设要,应写成函数表明式,而无是函数阐明语句)。

2. 许阐明函数,只在使用大括哀号的状态下树立,假诺无利用大括声泪俱下,就会报错。

3.
非ES6的浏览器环境下,将块级功能域的函数阐明当作let处理。

const命令,申明一个才念之常量。

暨let声明的变量不同让:

1. 常量一旦声明,常量的价值就是不能改。(应开端化即赋值,不克留给到今后赋值)。

2. 对于复合类型的变量,const命可确保变量称对的地方不更换(即无可以拿变量名指向其他一个地址,对象自我只是转换。)

大局对象的性能

大局对象是
最顶层的对象。

  • 浏览器中,顶层对象是window,但 Node 和 Web Worker 没有window
  • 浏览器与 Web Worker 里面,self也对顶层对象,可是Node没有self
  • Node 里面,顶层对象是global,但其余环境还不扶助。

ES5中间,全局对象的性能与全局变量是十分价格的,

ES6之中,var命令和function令声明的全局变量,仍旧是全局对象的特性;

单向规定,let命令、const命令、class指令注解的全局变量,不属全局对象的性。