const foo = Object.freeze({});
// 常規(guī)模式時(shí),下面一行不起作用;
// 嚴(yán)格模式時(shí),該行會報(bào)錯(cuò)
foo.prop = 123;
除了將對象本身凍結(jié),對象的屬性也應(yīng)該凍結(jié)。下面是一個(gè)將對象徹底凍結(jié)的函數(shù)。
var constantize = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach( (key, i) => {
if ( typeof obj[key] === 'object' ) {
constantize( obj[key] );
}
});
};