31-对象的高级操作(待更新)publish: false

Object.freeze() 冻结对象

Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。

代码举例:

  1. const params = {
  2. name: 'qianguyihao';
  3. port: '8899';
  4. }
  5. Object.freeze(params); // 冻结对象 params
  6. params.port = '8080';// 修改无效

上方代码中,把 params 对象冻结后,如果想再改变 params 里面的属性值,是无效的。