相同点:
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] 举报,一经查实,本站将立刻删除。