ES6爬坑之路之const关键字

const关键字声明的变量是readonly(只读的)的,即const修饰的是常量,例:

const pi=3.1415926;
pi=3;
console.log(pi)// error

此外const也具有与let一样的 暂时性死区、块级作用域、不允许重复声明等性质。
注意,当使用const关键字修饰对象时,const指向的是对象的内存地址,但是对象的属性是可变的,例如:

const person={};
person.name="zhangsan";
person.age=9;
console.log(person.name);//zhangsan
console.log(person.age);//9
person={};
console.log(person);//error

那么如何让一个对象不能修改呢?使用object.freeze()方法使对象冻结,

const person=object.freeze({});
person.name="zhangsan";
person.age=9;
console.log(person.name);//undefined
console.log(person.age);//undefined
冻结对象的使用,在定义时就给属性赋好值
const person=object.freeze({
    name:"zhangsan",
    age:9
})
console.log(person.name);//zhangsan
console.log(person.age);//9

你可能感兴趣的:(ES6爬坑之路)