Хотите узнать изменилось ли что-то? Тогда вам сюда:
Object.observe()
Создавать франкенштейнов, с сохранением хэшей и дальнейшей их проверкой, вам никто не запретит. Но зачем, если можно воспользоваться встроенным функционалом и не морочить себе голову?