let
和 const
是 JavaScript 中用于声明变量的两个关键字,它们之间的区别:
let:
-
可重新赋值: 变量使用
let
声明后,可以被重新赋值。
let x = 10;
x = 20; // 合法
-
作用域:
let
具有块级作用域,意味着它在声明的块(如循环或条件语句)内有效,而在外部不可访问。
if (true) {
let y = 30;
console.log(y); // 可以访问
}
console.log(y); // 错误,y 在此处不可访问
const:
-
不可重新赋值: 使用
const
声明的变量在初始化后不能被重新赋值。
const PI = 3.14;
PI = 22/7; // 错误,不允许重新赋值
- 作用域: 同样具有块级作用域。
if (true) {
const z = 42;
console.log(z); // 可以访问
}
console.log(z); // 错误,z 在此处不可访问
必须初始化: 使用 const
声明变量时必须进行初始化,而且一旦初始化就不能再修改。
const name; // 错误,必须进行初始化
选择使用 let
还是 const
取决于你的需求。如果变量的值会发生变化,使用 let
;如果变量在整个生命周期内保持不变,使用 const
有助于代码的可维护性和可读性。