For security purposes, I have a need for a "mirrored" object. i.e. if I create object A, and shallow-clone a copy of A and call it B, whenever a property of A changes, I hope to have B automatically update itself to reflect the changes, but not the other way around. In other words, one-way property syncing.
My question: is there already a solution out in the wild that I'm not aware of?
Was thinking of implementing a library with observe-js (https://github.com/polymer/observe-js), but thought I should ask around before proceeding. Thanks.
Assuming you don't need to support IE8 and earlier, you can use getters to do that on modern browsers.
You can setup the prototype chain for this:
Any property not set on
b
directly will be looked for on the prototype object, which isa
.You can even wrap this up in a convenience function: