提到变量与常量,就不得不说到let和const。那么let和const是什么?let和const是用来声明变量与常量,声明变量let代替var声明变量,const声明常量。
1、关于let和const的用法如下:
说明:var与let说明的就是变量,变量初始化之后,还可以重新赋值。
const声明的就是常量,常量一旦初始化,就不能重新赋值,否则就会报错。
const声明常量的使用,一般用大写命名(潜规则)。
2、那么为什么需要const?
const就是为了一旦初始化就不希望重新赋值的情况设计的。
那是不是const声明的常量就不能修改了?
const声明的常量,允许在不重新赋值的情况下修改他的值。
3、什么时候使用const,什么时候使用let?
我们可以在实际的开发中总结出来:例如我们可以先使用 const声明一个常量,如果这个在后面需要修改,那么你可以回来修改它的声明方式。这个对于大部分初级程序员,对于有一定开发经验的程序员,大部分情况下,你可以判断出哪些是用常用,哪些使用变量。
关于let、const与var的区别
①重复声明
重复声明:已经存在的变量或常量,有声明一遍。var允许重复声明,但let与const不允许
②变量提升
var会提升变量的声明到当前作用于顶部
let与const不存在变量的提升
养成好的编程习惯,所有的变量与常量都需要先声明在使用
③暂时性死区
暂时性死区只有let与const有
只要作用域内存在let、const它们所声明的变量或常量就自动“绑定”这个区域,不再受到外部作用域的影响
4、window对象的属性与方法
全局作用域中,var声明的变量、通过function声明的函数,会自动变成window对象的属性或方法,而let与const声明的不会。
5、块级作用域
①什么是块级作用域?变量或常量的作用范围
var没有块级作用域,典型的用法可以看下面的案例。
let/const有块级作用域
②作用域链:内层作用域外层作用域…全局作用域
③有哪些块级作用域