let 与块级作用域
作用域 - 某个成员能够起作用的范围。在 ES2015 之前,ES 只有两种作用域
作用域分类
- 全局作用域
- 函数作用域
- 块级作用域:块,就是 {} 包裹起来的一个范围
声明变量的关键字
工作中声明变量不用var ,主用const (后期不需修改的变量),辅用let (后期需要修改的)。
-
let
- let 创建的变量是块级作用域内的变量,不是全局变量
- let 不会进行变量声明提升
-
const
- 特点:在 let 的基础上增加了一个【只读】效果
const name = "zs";name = "ls";
是不可以修改name的值的,会报错。 - 注意:只是不能修改变量的地址,但是如果地址里的内容修改了,变量值也会跟着改变
const obj = {};obj.name = "zs";
- 声明时必须赋初始值,如果后赋值会报错
- 创建的变量是块级作用域内的变量,不是全局变量
- 不会进行变量声明提升
- 特点:在 let 的基础上增加了一个【只读】效果