Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: structured, clone, deep, copy

Что такое structuredClone и чем он отличается от JSON.stringify?

Этот вопрос проверяет знание современных встроенных механизмов глубокого копирования в JavaScript.

Короткий ответ

structuredClone — это встроенный API для глубокого копирования объектов.
Он корректно копирует многие типы данных, которые не поддерживает JSON.stringify.
structuredClone умеет работать с циклическими ссылками.
При этом он сохраняет структуру данных без преобразования в строку.

Длинный ответ

structuredClone появился как стандартный способ безопасного глубокого копирования данных.

Определение

structuredClone — это встроенная функция JavaScript, которая создаёт глубокую копию объекта, используя алгоритм структурированного клонирования.

Что он умеет

В отличие от JSON-подхода, structuredClone:

  • поддерживает циклические ссылки

  • корректно копирует Date

  • работает с Map и Set

  • сохраняет ArrayBuffer и TypedArray

const original = {
  date: new Date(),
  map: new Map([['a', 1]])
};

const copy = structuredClone(original);

Ограничения

Несмотря на преимущества, есть нюансы:

  • функции не копируются

  • DOM-узлы не поддерживаются

  • прототипы классов не сохраняются

Отличие от JSON.stringify

Ключевые различия:

  • нет потери данных при сериализации

  • нет преобразования в строку

  • корректная работа с циклическими структурами

Когда использовать

structuredClone подходит, если:

  • нужен безопасный deep copy

  • используются сложные структуры данных

  • важна корректность, а не совместимость со старыми браузерами

Краткий вывод

structuredClone — современный и надёжный способ глубокого копирования, который во многих случаях превосходит JSON-подход.

Уровень

  • Рейтинг:

    3

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#structured

#clone

#deep

#copy

Подпишись на React Developer в телеграм