返回

你必须知道的 let 和 const 声明要点

前端

1. let 声明

1.1 let 的声明规则

let 声明的变量具有块级作用域,这意味着变量只在声明所在的代码块内有效,一旦离开代码块,变量将立即失效。

let x = 10;
{
  let y = 20;
  console.log(x); // 10
  console.log(y); // 20
}
console.log(x); // 10
console.log(y); // ReferenceError: y is not defined

在上面的代码中,变量 x 声明在全局作用域,因此在整个程序中都可以访问。变量 y 声明在一个代码块中,因此只在代码块内有效。当代码块执行完毕后,变量 y 立即失效,因此在代码块之外访问 y 会抛出 ReferenceError 错误。

1.2 let 的注意事项

  • let 声明的变量不能重复声明。
  • let 声明的变量必须先声明后使用。
  • let 声明的变量具有块级作用域。

2. const 声明

2.1 const 的声明规则

const 声明的变量具有常量性,这意味着变量的值一旦被初始化就不能被改变。const 声明的变量也具有块级作用域,这意味着变量只在声明所在的代码块内有效,一旦离开代码块,变量将立即失效。

const PI = 3.14;
PI = 3.15; // TypeError: Assignment to constant variable.

在上面的代码中,变量 PI 被声明为常量,因此不能被重新赋值。试图重新赋值 PI 会抛出 TypeError 错误。

2.2 const 的注意事项

  • const 声明的变量不能重复声明。
  • const 声明的变量必须先声明后使用。
  • const 声明的变量具有块级作用域。
  • const 声明的变量的值不能被改变。

3. let 和 const 的区别

特性 let const
作用域 块级作用域 块级作用域
可变性 可变 不可变
声明规则 不能重复声明,必须先声明后使用 不能重复声明,必须先声明后使用
注意 不能重复声明,必须先声明后使用 不能重复声明,必须先声明后使用,值不能被改变

4. 总结

let 和 const 都是 JavaScript 中用于声明变量的,它们具有不同的声明规则、作用域规则和可变性。在使用 let 和 const 时,需要根据变量的用途和作用域选择合适的声明方式。