关于const

const声明只读变量,不支持修改,所以在声明时就必须初始化。。

const与let非常相似,const是用来声明常量,而let是用来声明变量

const与let共同点

1、块级作用域

2、不支持变量提升

3、存在暂时性死区

4、不可重复声明(即使之前声明指令不一样,如var,let也会报错)

const保证内存地址不变,但是地址里面的内容是可以变的

const foo = {};

// 为 foo 添加一个属性,可以成功
foo.prop = 123;
foo.prop // 123

// 将 foo 指向另一个对象,就会报错
foo = {}; // TypeError: "foo" is read-only

顶级对象属性

在浏览器中顶级对象指window,Node中指global

在以往的声明指令中如var,function顶级对象的属性就是全局对象的属性,例如

window.a=1;
console.log(a)//1

但let,const,class把两者区分开了,顶级对象是顶级对象,全局是全局,两者是不同的概念

posted on 2017-03-25 17:53  朕不怕刁民  阅读(82)  评论(0编辑  收藏  举报

导航