1、const声明一个只读常量,一旦声明,常量的值不可改变
2、const作用域与let命令相同:只在声明所在的作用域内生效
3、const声明的常量也不会被提升
4、const声明的常量存在暂时性死区
5、const声明常量也与let一样,不可重复声明
6、const实际上保证的并不是变量的值不变,而是变量指向的内存地址不能改变;所以const定义的引用类型的常量,其内部的值是可以改变的。
const foo = {};
foo.name = 123;
console.log(foo.name)//123
7、let、const、class声明的全局变量不再属于顶层对象(window、global)属性
const b = 1;
window.b //undefined;