Let + Const 块级作用域和常量
let和const的出现让 JS 有了块级作用域,还可以像强类型语言一样定义常量。由于之前没有块级作用域以及 var 关键字所带来的变量提升,经常给我们的开发带来一些莫名其妙的问题。
下面看两个简单的demo理解。
// demo 1
function f1() {
let n = 5;
if (true) {
let n = 10;
}
console.log(n); // 5
}
// demo 2
const PI = 3.1415;
console.log(PI); // 3.1415
PI = 3;
console.log(PI); // TypeError: "PI" is read-only