《深入理解ES6》学习笔记(第四天)
第一章 块级作用域绑定
- 第2节 块级声明
2.1 cont声明
使用const声明的变量,其值一旦被设定后不可更改,之前变量声明let一样是块级声明,在同一个区域不能重复声明,但const在声明对象时,可以修改对象属性值,不可以修改属性的绑定,具体例子如下:
例子1:
cont maxItems = 30;
// 语法错误,常量未初始化
const name;
例子2:
if(condition) {
const maxItems = 5;
// more
}
// 此处无法访问maxItems
例子3:
var message = "Hello!";
let age = 25;
// 以下两行语句会抛出错误
const message = "GoodBye!";
const age = 30;
例子4:
const maxItems = 5;
// 抛出语法错误
maxItems = 6;
例子5:
const person = {
name : "Jack"
}
// 可以修改对象属性值
person.name = "Tom";
// 抛出语法错误
person = {
name: "Tom"
}
2.3 let 和const与 var不同之处
与var不同,let和const声明的变量不会被提升到作用域顶部,如果在声明之前访问这些变量,即使是相对安全的typeof操作符也会触发引用错误,具体例子如下所示:
if(condition) {
console.log(typeof value); // 引用错误!
let value = "blue";
}
网友评论