使用const关键字声明的常量存在变量提升
时间: 2024-09-11 21:04:23 浏览: 53
简单掌握JavaScript中const声明常量与变量的用法
在JavaScript中,`const`关键字用于声明常量,这意味着一旦赋值,该变量的值就不能再改变。关于“变量提升”(hoisting),这是JavaScript的一个特性,它指的是函数作用域内的变量声明会被提前到其所在作用域的顶部,无论它们实际的位置是在哪里。
当你在函数内部使用`const`声明一个变量时,尽管代码看起来像是下面这样:
```javascript
function example() {
console.log(x); // 输出 undefined
const x = 5; // 常量声明
}
```
实际上,由于变量提升,`const x = 5;`会被视为:
```javascript
function example() {
var x; // 变量提升
console.log(x); // 输出 undefined
x = 5; // 然后赋值为5
}
```
所以,在声明之前尝试访问`x`会得到`undefined`,因为此时`x`还没有被初始化。但是,`const`声明不会被提升,所以尝试对`x`进行重新赋值会报错,因为`const`不允许修改它的值。
阅读全文