x = ''; Object.defineProperty(this, "y", { get: function() { return x } }) y x = 0 x = new String; y.__proto__ = [] y