es6笔记一

let

  • 用于声明变量,类似于var,但是所声明的变量只在let命令所在的代码块内有效。
  • 不存在变量提升,变量一定要在声明后才能使用命令。
  • 暂时性死区,如果区块中存在let和const命令,这个区块对这些命令声明的变量,形成了封闭作用域
  • 不能在相同的作用域内,重复声明同一个变量

块级作用域

  • 外层作用域无法读取内层作用域的变量
  • 内层作用域可以定义外层作用域的同名变量
  • es5规定函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域中声明
  • es6明确允许在块级作用域中声明函数
  • 函数声明语句的行为类似于let,在块级作用域之外不可引用

const命令

  • const声明一个只读变量,常量的值不能改变
  • 一旦声明,必须初始化,否则会报错
  • const和let命令相同,只在声明所在的块级作用域内有效
  • 不存在变量提升,也存在暂时性死区,只能在声明之后使用
  • 不能重复声明

顶层对象的属性

  • es5顶层对象的属性与全局变量是等价的
  • var、function命令声明的全局变量,依旧是顶层对象的属性
  • let、const、class命令声明的全局变量不属于顶层对象的属性

顶层对象

 

posted @ 2016-10-25 20:36  wilsontao  阅读(101)  评论(0编辑  收藏  举报