Да, да, да. На Тостере уже были такие вопросы. В гугле все тоже есть... но не то.
Нужно сравнить данные в JS. Как сравнить числа, строки, булы и т. д. - ясно. А как быть с массивами и объектами? Простое сравнение ничего не даст - будет false. Перебор тоже не особо поможет - сравним, например, window и... window. Программа тут же запутается - вылетит с too much recursion. Оно и ясно. window.window.window.window === window. И это можно продолжать вечно. Как сравнить объекты? Желательно без библиотек.
PS И не советуйте мне Object.is (он не для этого) и тому подобное.
1) window === window (это с любыми глобальными или импортируемыми объектами)
2) рекурсивное сравнение объектов, но надо хэндлить циклические ссылки по хорошему.
3) JSON.stringify(a) === JSON.stringify(b) как альтернатива второму. Страдает теми же проблемами, надо циклические ссылки самому хэндлить.
4) lodash.isEqual