Sobes.tech
Junior — Senior
64

Рекурсивное клонирование объекта со всеми вложенными свойствами и методами

被问到的公司:

A2Code
任务条件

Необходимо реализовать глубокую копию переданного объекта, учитывая все его вложенные структуры – примитивные значения, массивы и функции. При этом важно, чтобы методы сохраняли корректный контекст this (например, метод onClick использует текущий объект). Полученная копия должна полностью отделяться от оригинала: любые изменения в копии не должны отражаться на исходном объекте.

const obj = {
    name: 'Ivan',
    surname: 'Ivanov',
    hobbies: ['gym', 'video games', 'pubs'],
    onClick: this.handleClick,
};