Object.freeze()

Object.freeze()阻止修改现有属性的特性和值,并阻止添加新属性。

Object.freeze(object)

返回值是传递给函数的对象。

可以利用这个方法将对象彻底冻结,使其符合const变量的含义

let obj = {
  a: 1,
  b: {
    b1: 2
  }
};

obj.b.b1 = 3;
console.log(obj.b.b1 ); //3

function freeze(obj){
  Object.freeze(obj);
  Object.values(obj).forEach(function (value,index) {
    if(typeof value === 'object'){
      freeze(value);
    }
  })
}

freeze(obj);

obj.b.b1 = 4;
console.log(obj.b.b1); //3

你可能感兴趣的:(对象,JavaScript)