块级声明用于声明在指定块级作用域之外无法访问的变量。块级作用域存在于:
- 函数内部
- 块中({})
let声明
let用法和var相同。用let替换var来声明变量,就可以把变量的作用域限制在当前代码块中。由于let声明不会被提升,因此开发者通常将let声明语句放在封闭代码块的顶部,以便整个代码块都可以访问。
禁止重声明
var count =30 ;
//抛出语法错误
let count=40;
同一作用域不能用let重复定义已经存在的标识符。
const声明
使用const声明的是常量,其值一旦被设定后不可更改。因此,每个通过const声明的常量必须进行初始化。
const maxNum=30;
//语法错误:常量未初始化
const name;
const与let
const与let声明都是块级标识符,所以常量也只在当前代码块内有效,一旦执行到块外会立即被销毁。常量同样也不会被提升到作用域顶部。同样,在同一作用域const声明已经存在的标识符也会报语法错误。
const声明对象
如果const声明的是对象,不允许修改绑定,但则可以修改值。