How to efficiently and correctly deeply clone and deeply compare JavaScript variables and what are the pros and cons of different approaches.| waspdev.com