ES6中let和const的区别

相同点:

1,不存在提前声明

2,声明只在块级作用域有效

3,存在暂时性死区

4,不可重复声明

不同点:

1,let声明的是变量,可以改变,值和类型都可以改变;const声明的是可读的常量,一旦声明不可改变。

2,const总是指向一个固定的地址

const foo = {};

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

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

上面代码中,常量foo储存的是一个地址,这个地址指向一个对象。不可变的只是这个地址,即不能把foo指向另一个地址,但对象本身是可变的,所以依然可以为其添加新属性。

——引用来自阮一峰《ECMAScript 6 入门

上一篇:从 json 说起


下一篇:python面向对象