const 与let的异同
时间: 2024-10-23 07:19:19 浏览: 12
`const` 和 `let` 都是 JavaScript 中用于声明变量的关键字,它们都是 ES6 引入的新特性。它们的主要区别在于:
1. 可变性:`const` 表示常量,一旦赋值就不能再改变其值,试图再次赋值会抛出错误。而 `let` 声明的变量是可以修改的。
```javascript
const a = 5; // a 是常量,不可以更改 a 的值
a = 7; // 抛出错误
let b = 5; // b 是普通变量,可以改变 b 的值
b = 7;
```
2. 作用域:`const` 和 `let` 都有块级作用域,即只在当前的大括号 `{}` 内有效。但是,如果在一个函数内部同时声明了相同的 `const` 或 `let`,那么 `const` 变量在整个函数范围内都不可更改,而 `let` 变量则可以。
```javascript
function example() {
if (true) {
let x = 10; // 函数内的变量
const y = 20; // 函数内的常量
}
console.log(x); // ReferenceError: x is not defined
console.log(y); // 20
}
```
3. 可重复声明:在同一个作用域内,`const` 如果已经声明过就不能再声明,而 `let` 则允许重新声明。
```javascript
let a; // 第一次声明
let a; // 第二次声明,不会报错,只是第二次声明不起作用
```
阅读全文