TGViewer
CodeBase | Frontend CodeBase | Frontend @codebase_frontend · 1.93K subscribers
Post #1226 281
🔥 Быстрое сравнение объектов в JS без глубоких сравнений

Иногда не нужен deep equal, а просто надо понять: два объекта точно одинаковы по содержимому?

Вот простой, но мощный трюк на базе JSON.stringify():

const isEqual = (a: object, b: object) =>
JSON.stringify(a) === JSON.stringify(b);

📌 Подходит для:

* Простых объектов без методов и undefined;
* Сравнения кеша/props в memo;
* Быстрой проверки изменений формы.

⚠️ Не подходит:

* Для вложенных объектов с разным порядком ключей ({a:1,b:2} !== {b:2,a:1});
* Когда есть Date, Map, Set, функции, undefined, symbol.

🧠 Альтернатива:
Если важен порядок и типы — используй lodash.isEqual.

👉 Пример использования:

if (!isEqual(prevForm, currentForm)) {
saveChanges();
}

⚡ Просто. Эффективно. Для 80% кейсов — 🔥

CodeBase | Frontend | #JS
  • 🔥 1
More from @codebase_frontend
  1. Oct 2, 2026Ленивый вайб-программист
  2. Sep 29, 2026📌 Подборка полезных функций, которые пригодятся продвинутым frontend-разработчикам при ра…
  3. Sep 27, 2026CodeBase | Frontend | #meme
  4. Sep 26, 2026Бэкенд-разработчик пытается написать CSS. CodeBase | Frontend | #meme
  5. Sep 21, 2026🔥 Трюк с :has() в CSS: "Родительская магия" Селектор :has() наконец стабильно работает во…
  6. Sep 16, 2026CSS совет 💡 Возможно, ты не знал об этом новом и самом простом способе вертикально центри…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →