Object.preventExtensions
阻止对象扩展,让一个对象变的不可扩展,也就是永远不能再添加新的属性。
Object.seal
让一个对象密封,并返回被密封后的对象。密封对象是指那些不能添加新的属性,不能删除已有属性,
以及不能修改已有属性的可枚举性、可配置性、可写性,但可以修改已有属性的值的对象。
Object.freeze
冻结对象是指那些不能添加新的属性,不能修改已有属性的值,不能删除已有属性,
以及不能修改已有属性的可枚举性、可配置性、可写性的对象。也就是说,这个对象永远是不可变的。
将对象彻底冻结的函数:
var constantize = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach( (key, i) => {
if ( typeof obj[key] === 'object' ) {
constantize( obj[key] );
}
});
};
preventExtensions seal freeze
最新推荐文章于 2024-07-15 14:11:16 发布