2
respostas

Descongelamento

Existe uma função que descongela o objeto?

2 respostas

Olá Pedro!

Não existe a função!

O máximo que dá pra fazer é copiar o objeto e alterar as propriedades na cópia.

Espero ter ajudado! :D

Complementando o Guilherme com um código que exemplifica.

var obj = {a : 5};

console.log(obj); // {a: 5}
Object.freeze(obj);

obj.b = 10; //tentando adicionar alguma coisa ao objeto
console.log(obj); // output: {a: 5} -> nada mudou porque está congelado

//Agora use esse truque
var tempObj = {};
for(var i in obj){
    tempObj[i] = obj[i];
}
console.log(tempObj); // {a: 5}

// Resetando o objeto
obj = tempObj;
console.log(obj);// {a: 5}

obj.b = 10; //tentando adicionar alguma coisa ao objeto
console.log(obj); // output: {a: 5, b: 10} -> significa que o objeto "descongelou" porque criamos uma cópia e sobrescrevemos ele.

Espero ter ajudado!!!