node.js中的只读JSON对象

我需要将用户结果作为
JSON对象提供,然后缓存结果.

在某些情况下,用户更改此结果对象,并且修改后的版本可供连续用户使用.为了避免这种情况,我目前正在克隆结果,但这导致了非常大的JSON对象的巨大开销.

所以我想让JSON只读取结果并避免克隆过程.如何使JSON对象不可编辑?

最佳答案 您可以使用Object.freeze():

var obj = {a: 'a', b: 'b'};
var freezeObj = Object.freeze(obj);

freezeObj.a = 'c';

console.log("%j", freezeObj);   // prints {"a":"a","b":"b"}
console.log("%j", obj);         // prints {"a":"a","b":"b"}
console.log(obj === freezeObj); // prints true
点赞