Sobes.tech
Назад к вопросам
Middle+
2

Как можно скопировать объект в JavaScript? Какие способы знаешь?

Компании, где спрашивали
Ifellow

Ответ от нейросети

sobes.tech AI

В JavaScript есть несколько способов скопировать объект:

  1. Поверхностное копирование:

    • Использование Object.assign():
      const copy = Object.assign({}, original);
      
    • Оператор расширения (spread):
      const copy = {...original};
      

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

  2. Глубокое копирование:

    • Через сериализацию в JSON:

      const deepCopy = JSON.parse(JSON.stringify(original));
      

      Но этот способ не копирует функции, undefined, символы и не работает с циклическими ссылками.

    • Использование специализированных библиотек, например, lodash:

      const _ = require('lodash');
      const deepCopy = _.cloneDeep(original);
      
  3. Рекурсивное копирование: Можно написать свою функцию для глубокого копирования, обходя все вложенные объекты.

Выбор способа зависит от структуры объекта и требований к копированию.