彻底冻结对象(将对象本身冻结,对象的属性也被冻结)

const foo = {a: {b: 2, c: {d: 4}}};

let freezeObj = (obj) => {
  Object.freeze(obj);
  Object.keys(obj).forEach((key, i) => {
    if(typeof obj[key] === 'object') {
      freezeObj(obj[key]);
    }
  })
}

freezeObj(foo);

常规模式时,对foo赋值不起作用
严格模式时,对foo赋值会报错

猜你喜欢

转载自blog.csdn.net/Wangdanting123/article/details/84875891
今日推荐