凍結數據的方法,防止被修改Object.freeze()

Object.freeze()方法接收一個參數,如果此參數是一個對象,則此方法把這個對象凍結,如果是其他類型則不會報錯,無影響。

 

被凍結的對象不能修改、添加、刪除其屬性或者屬性值

let obj = {"a":5};

Object.freeze(obj); //return 此obj

obj.a = 3;  //不會報錯

console.log(obj); //仍然是 {"a":5}

l另外,freeze凍結的是堆內存中的值,和棧中的引用無關。

//接上面代碼

obj = 2; //這是可以成功的

 

用處:

一個大的數據對象裏,在你確信它不需要改變的時候,你可以給他freeze(),可以大大的增加性能。

也可用作凍結線上的配置文件中的對象,以防有人誤改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章