微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 入门

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐