前端变量命名时,经常在代码中会看到let、const、var命名的变量,那为什么不统一呢,我们一起来看下
- 相同点
- 在相同作用域内,无法对同一个变量或常量进行重复声明
- 存在暂时性死区
- 会形成块及作用域
- 不同点
- const声明常量,let声明变量与var类似
- const声明常量时,无法被修改,强行修改会报异常,let不会;
- const声明时,必须初始化,let可不用初始化;
- const a;直接这么写会异常报错
- const 只限制变量绑定的值,不限制引用数据类型内部的变动
- const a={num:1}; a.num=2; a=2赋值则会报错
- 同一个作用域内,无法对同一个变量/常量重复声明
- 以下情况会报错重复声明
- let a; let a=1
- const a;const a=0;
- var data; let data=1;
- 以下情况会报错重复声明
- var和let在区块级作用域不一样,let更严格一些,规避了一些因为在代码写法上的逻辑问题
- 以上内容希望能对大家有所帮助