發(fā)布于:2021-01-31 00:00:00
0
98
0
我最喜歡的JavaScript部分之一是對象的可變性。我喜歡MooTools和類似的框架可以修改本機原型,以使用我們知道語言需要的功能來增強它們。實際上,我認為MooTools推動了網(wǎng)絡的發(fā)展。
但是,在某些情況下,您不希望對象是可修改的。您不希望更改,添加或刪除現(xiàn)有屬性的值。那就是Object.freeze 可以提供幫助的地方-Object.freeze 您可以創(chuàng)建可以信任的不可變對象!
const obj = Object.freeze({ x: 1, y: 2 }); // None of these do anything obj.x = 8; // { x: 1, y: 2} delete obj.x; // { x: 1, y: 2} obj.z = 3; // { x: 1, y: 2}
Object.freeze是JavaScript的受歡迎補充,也是必需的。如果您要保護其完整性的對象,則必須具有不變性。 Object.seal 提供類似的功能而沒有凍結值的功能,因此,Object.freeze 當您要鎖定對象時,這是您的最佳選擇!