在 JavaScript 中,let
和 const
是用于声明变量的关键字,它们与 var
不同,具有一些特殊的语法和语义。
-
可变性(Mutability):
let
声明的变量可以被重新赋值,而const
声明的变量是常量,不能被重新赋值。例如:let x = 1; x = 2; // 可以被重新赋值 console.log(x); // 输出 2 const y = 1; y = 2; // 抛出错误,常量不能被重新赋值 console.log(y);
-
作用域(Scope):
let
和const
声明的变量都具有块级作用域,只在声明它们的代码块内有效。例如:{ let x = 1; const y = 2; } console.log(x); // 抛出错误,x 只在代码块内有效 console.log(y); // 抛出错误,y 只在代码块内有效
-
变量提升(Hoisting):
let
和const
声明的变量不会被变量提升,只有在声明后才能被访问。例如:console.log(x); // 抛出错误,x 没有被声明 let x = 1; console.log(y); // 抛出错误,y 没有被声明 const y = 2;
总之,let
和 const
都是用于声明变量的关键字,它们具有不同的语义和用法。通常情况下,如果变量不需要被重新赋值,应该使用 const
声明常量;如果变量需要被重新赋值,应该使用 let
声明可变变量。