聪少Harry笔记让前端飞Web前端之路

《深入理解ES6》学习笔记(第四天)

2017-10-17  本文已影响51人  聪少Jeff

《深入理解ES6》学习笔记(第四天)
第一章 块级作用域绑定

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";
}
上一篇下一篇

猜你喜欢

热点阅读