Even if configurable: true was provided at definition time: var obj = {}; Object.defineProperty(obj, 'test', { value: 10, configurable: true }); alert(obj.test); // 10 Object.defineProperty(obj, 'test', { value: 20, configurable: true }); alert(obj.test); // Should be 20, is still 10 The workaround is to call delete before the 2nd definition: delete obj.test; But it seems this contradicts the specifications. Or am I misinterpreting them?
Created attachment 82140 [details] Code to replicate behavior.
Here the link to the same bug over at the Chromium site: http://code.google.com/p/chromium/issues/detail?id=72736
This works in ToT, a lot of defineOwnProperty bugs were fixed lately so it'll be hard to track down exactly which revision! Please reopen if you are still seeing any issues. cheers, G.