Deepcopy

Задача:

Напишите функцию, которая возвращает глубокую копию данного объекта.

Копия не должна быть тем же самым объектом, который был дан.

Эта задача не будет проверяться:

Объекты со свойствами, которые являются функциями. Объекты Date или объект со свойствами, которые являются объектами Date. RegEx или объект со свойствами, которые являются объектами RegEx. Прототипирование копий