前端-工作中积累的方法

2019-08-19  本文已影响0人  夜空中最亮de星

1.想将对象冻结,应该使用Object.freeze方法。

const foo =Object.freeze({}); // 常规模式时,下面一行不起作用;// 严格模式时,该行会报错foo.prop =123;

上面代码中,常量foo指向一个冻结的对象,所以添加新属性不起作用,严格模式时还会报错。

除了将对象本身冻结,对象的属性也应该冻结。下面是一个将对象彻底冻结的函数。

var constantize = (obj) => {

    Object.freeze(obj);

    Object.keys(obj).forEach( (key, value) =>{

        if(typeofobj[key] ==='object') {     

             constantize( obj[key] );    

        }  

    });

};

上一篇 下一篇

猜你喜欢

热点阅读