Instruções
Cópia profunda
Escreva uma função que retorne uma cópia profunda de um objeto dado. A cópia não deve ser o mesmo objeto que foi dado.
Esta tarefa não testará:
<ul>
<li>Objects with properties that are functions</li>
<li>Date objects or object with properties that are Date objects</li>
<li>RegEx or object with properties that are RegEx objects</li>
<li>Prototype copying</li>
</ul>
O que fazer:
Testes:
- `deepcopy` deve ser uma função.
- `deepcopy({test: "test"})` deve retornar um objeto.
- `deepcopy` não deve retornar o mesmo objeto que foi fornecido.
- Quando for passado um objeto contendo um array, `deepcopy` deve retornar uma cópia profunda do objeto.
- Quando for passado um objeto contendo outro objeto, `deepcopy` deve retornar uma cópia profunda do objeto.
Console