JavaScript 中 let & const 有什么用?
在本文中,我们将讨论 JavaScript 中 let 和 const 的用法。
let:它是在 JavaScript 中声明块作用域变量的关键字,即它允许在块内或表达式内而不是在整个文档中声明变量。
句法:
let x = 3;
特征:
- 用let声明的变量不能在 JavaScript 中重新声明。这意味着如果一个变量是用 let 声明的,那么我们就不能在同一个上下文中再次重新声明同一个变量。
示例 1:我们得到一个语法错误,因为 x 不能在同一范围内重新声明。
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
输出:
SyntaxError: Identifier 'x' has already been declared
注意: let 允许在块作用域{ } 内声明相同的变量,但不能在块作用域外使用。
示例 2:
HTML
输出:
ReferenceError: x is not defined
示例 3:
HTML
输出:
GeeksforGeeks
示例 4:我们可以在块作用域内声明一个 let 变量,它将被视为块作用域内的局部变量,并且比之前定义的全局变量具有更高的优先级。
HTML
输出:
12
Computer science portal
GeeksforGeeks
示例 5:一个关键点是当一个变量用let声明时,它被托管在块的顶部但没有被初始化。所以,如果我们在声明变量之前使用let变量,我们会得到一个引用错误。
HTML
输出:
ReferenceError: Cannot access 'x' before initialization
const:也是关键字声明变量是块作用域的,但是const关键字声明的变量不能在同一个作用域内更新。与let变量类似, const变量在声明之前既不能重新声明也不能访问。
句法:
const x = 12;
特征:
- const关键字声明的变量在同一范围内或块内保持不变。
示例 1:
HTML
输出:
TypeError: Assignment to constant variable.
示例 2:const变量可以声明为块作用域内的局部变量,并且对局部变量的偏好是 高于块作用域内的全局变量。
HTML
输出:
GeeksforGeeks
Welcome
12
示例 3:如果我们尝试使用const关键字声明一个对象,则该对象无法更新,但对象的属性仍然可以更新。
HTML
输出:
GeeksforGeeks
Welcome to GeeksforGeeks
示例 4:与 let 类似,必须在声明之前初始化 const 对象。如果它未初始化,我们将得到一个引用错误。
HTML
输出:
ReferenceError: Cannot access 'x' before initialization
关键区别:所以我们看到用let关键字声明的变量可以重新分配,而用const关键字声明的变量永远不能在同一范围内重新分配。