let和const敕令
let 敕令:
- 所声明的变量只在let敕令地点的代码块内有效。
- for轮回的计数器就很合适运用let敕令。
- 不存在变量提拔
- 暂时性死区:只需块级作用域内存在let敕令,它所声明的变量就“绑定“在这个地区,不在受外部的影响。
- 在雷同作用域中不许可反复声明
块级作用域
- let实际上为javascript新增了块级作用域
- ES6许可块级作用域的恣意嵌套。
- ES5划定,函数只能在顶层作用域和函数作用域中声明,不能再块级作用域中声明。
- ES6引入了块级作用域,明白许可在块级作用域当中声明函数。在块级作用域中,函数声明语句的行动类似于let,在块级作用域以外不可援用。
do表达式
- 在块级作用域之前加上do,使它变成do表达式,然后就会返回内部末了实行的表达式的值。
const敕令
- 声明一个只读常量,一旦声明,常量的值就不能转变。
- 实际上const保证的并非变量的值不得修改,而是变量指向的谁人内存地址不得修改。
- 关于简朴范例的数据,值就保留在变量指向的谁人内存地址。
- 而关于复合范例的数据,变量指向的内存地址,保留的只是一个指针,const保证这个指针牢固,而它指向的数据结构是不能掌握的。
ES6声明变量的六种要领
ES5:var 和 function
ES6:let, const, import, class
顶层对象的属性
- 顶层对象,在浏览器环境指的是window对象,在node指的是global对象。ES5当中,顶层对象的属性与全局变量是等价的。