Object.observe()
, part of a future ECMAScript standard, is a method for asynchronously observing changes to JavaScript objects … without the need for a separate library. It allows an observer to receive a time-ordered sequence of change records which describe the set of changes which took place to the set of these objects.
Essentially, the article linked below is a written version of this talk (dated late 2013) by Addy: