js es6 Object.freeze


將對象凍結,使用Object.freeze方法

const foo = Object.freeze({});

// 常規模式時,下面一行不起作用;
// 嚴格模式時,該行會報錯
foo.prop = 123;
var t = {
    a:{
        t:2
    }
}    
//凍結t對象下屬性a
Object.freeze(t)

t.a.t = 3
//不能凍結屬性a下的值obj中的對象
console.log(t.a.t) //3

除了將對象本身凍結,對象的屬性也應該凍結。下面是一個將對象徹底凍結的函數。

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

引用:http://es6.ruanyifeng.com/#docs/let

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM