Frontend Matrix: post #2000 — TG.ME

🧬 Хватит использовать JSON.parse(JSON.stringify()) для глубокого клонирования

Когда нужно сделать полную копию сложного объекта (со всеми вложенностями), старый трюк с JSON часто ломает данные: он не умеет копировать даты (Date), регулярные выражения (RegExp), карты (Map/Set) и циклические ссылки.

В современном JS есть встроенный инструмент, который делает это правильно и быстро — structuredClone.

const user = {
name: "Alex",
joined: new Date(),
skills: new Set(["JS", "React"]),
};

// Старый костыльный метод (дата превратится в строку, Set просто исчезнет)
const badCopy = JSON.parse(JSON.stringify(user));

// Современный нативный метод (все типы данных сохраняются!)
const goodCopy = structuredClone(user);

console.log(goodCopy.joined instanceof Date); // true
console.log(goodCopy.skills); // Set(2) {"JS", "React"}
July 15, 2026 311 5