A little late to the party, but you can also create an object in a mutable variable (let), and reassign the original object to the variable when you need to reset it.
For example:
let obj = { objProp: "example" };
if (condition) {
Object.freeze(obj);
}
else {
obj = { objProp: "example" };
}