let和const的区别
let和const只在声明的块极作用域内有效。
- let声明的变量可以被修改,值和类型都可以修改
- const声明的变量不可被修改,一旦声明,必须进行初始化。
const a;//会报错,因为a只声明没有赋值; const b = 123; b=456;//会报错,因为const声明的变量不能被修改
const person = []; person = ['黑人','白人'];//会报错,因为[]和['黑人','白人']是不一样的地址,地址发生了改变。 这种情况不会报错,因为students指向的地址没有变化,只是里面的数据发生了改变 const students = []; students[0] = '阿明'; students[1] = '阿利';
如果想让定义的数组和对象中的数据或者属性不被修改,可以用Object.freeza(obj)进行冻结,这样给对象添加属性就不起作用了