块级作用域:let 和 const
Coddy 现代 JavaScript(ES6+)中的难点 课程的第 3 课,共 9 课。
什么是块级作用域?在此之前,什么是变量的作用域?
变量的作用域就是该变量可以访问的范围,也就是说,我们只能在变量的作用域内使用它。
在 ES6 之前,变量是用关键字 var 声明的。这类变量只有全局作用域和函数(局部)作用域。
在 ES6 中,我们可以使用 let 和 const 关键字声明变量,它们具有块级作用域。
块就是一对左花括号和右花括号所包围的区域,我们可以在其中编写 JS 代码,例如 { // any code }。
{
let x = 2;
}
// 这里不能使用 x
// 因为在上面的代码块外无法访问 xconst 也具有块级作用域,因此情况与之类似。
使用
const声明的变量必须初始化,而且首次初始化后不能更改或赋予新值!
const pi = 3.14;
pi = 4.2 // 错误:不能给 const 声明的变量重新赋值
如前所述,var 没有块级作用域,而是具有全局或函数级作用域。
{
var x = 2;
}
// 这里可以使用 x,因为 x 具有全局作用域。
一些重要要点:
- 用
let/const定义的变量不能重新声明。 - 用
let/const定义的变量必须先声明再使用。 - 用
let/const定义的变量不会被提升。
挑战
简单在给定的函数中创建两个变量:name = "Coddy",使用 let;age = 25,使用 const。使用 console.log() 打印这些值。
亲手试试
function getInfo() {
// 在这里编写代码
}现代 JavaScript(ES6+)中的难点中的所有课
自己练习: JavaScript 在线编译器