tgoop.com/frontend_1/3973
Create:
Last Update:
Last Update:
🔥 Быстрое сравнение объектов в 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% кейсов — 🔥
👉 @frontend_1
BY Frontend разработчик
Share with your friend now:
tgoop.com/frontend_1/3973
