1. 程式人生 > >徹底凍結物件(將物件本身凍結,物件的屬性也被凍結)

徹底凍結物件(將物件本身凍結,物件的屬性也被凍結)

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賦值會報錯