Как реализовать deep clone объекта?

Middle
290 просмотров
AFK Offer AI

Простой способ: structuredClone(obj) — нативный, поддерживает Date, Map, Set, циклические ссылки. JSON.parse(JSON.stringify(obj)) — теряет функции, undefined, Date, RegExp. Ручная реализация: function deepClone(obj) { if (obj === null || typeof obj !== "object") return obj; if (Array.isArray(obj)) return obj.map(deepClone); return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, deepClone(v)])); }. Полная версия должна обрабатывать Date, Map, Set, циклы через WeakMap.

Следующий вопрос

Как устроен data fetching в Next.js App Router?