Clone object typescript

Postado em por Wolmir Cezer Garbin em Typescript | 73 Visualizações
Última atualização em:

Se precisa clonar um objeto em TypeScript, este post pode te ajudar.

Em alguns casos, vai precisar clonar objetos para que ao serem alterados, a alteração não reflita na referência. Em outras palavras se estiver editando uma variável em uma lista e alterar o objeto que faz referencia com o mostrado na lista ao alterar qualquer atributo o mesmo será mostrado.

Para evitar isso, precisa clonar o objeto em typescript, veja as formas que pode utilizar:

Sua primeira opção é utilizar o Object do ES6, desta forma terá duas maneiras de fazer, veja:

// Para objeto
Object.assign( this.newObject, objReferencia );
this.newObject = Object.create(objReferencia);
// Para lista
this.listaObjetos = Array.from( this.oldListaObjetos );

Mas o typescript tem um facilitador para esta tarefa, veja:

// Para objeto
this.newObject = {...objReferencia};
// Para lista
this.listaObjetos = [...this.oldListaObjetos];

Note que o newObject é o objeto novo sem referência do objeto anterior e o objReferencia é o objeto que será clonado para o novo. Da mesma forma o objeto listaObjetos será um clone do objeto oldListaObjetos.

Qualquer dúvida deixe nos comentários!

Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

Posts relacionados


Code Conference

Esta é uma conferência de código realizada na cidade de Pato Branco para dissiminar tendências e informações sobre programação e novas tecnológias

Veja mais sobre o Code Conference

Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar