返回
你必须知道的 let 和 const 声明要点
前端
2023-10-05 18:10:07
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 时,需要根据变量的用途和作用域选择合适的声明方式。