let关键字用于声明一个块级作用域的变量。它与var关键字不同,var声明的变量是函数作用域或全局作用域的,而let声明的变量只在当前的块级作用域中有效。
if (true) {
let x = 10;
}
console.log(x); // Uncaught ReferenceError: x is not defined
上述代码中,变量x是在if语句块内部声明的,所以它只在if语句块内部有效。在if语句块外部访问x会抛出错误。
const关键字用于声明一个块级作用域的常量。与let关键字类似,const声明的常量也只在当前的块级作用域中有效。
const PI = 3.14159;
PI = 3; // Uncaught TypeError: Assignment to constant variable.
上述代码中,常量PI被赋值为3.14159,后面试图将它赋值为3,会抛出类型错误。
总之,let和const关键字的作用是让变量和常量的作用域更加清晰和严格,避免变量的污染和误操作。