Bug 151812

Summary: Numeric properties of an object will not use accessors defined on the object's prototype
Product: WebKit Reporter: Daniel Freedman <dfreedm>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: cdumez, ddkilzer, ljharb, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Daniel Freedman
Reported 2015-12-03 10:57:24 PST
Reproduction: var proto = Object.create(null); Object.defineProperty(proto, '0', { get: function(){console.log('get')}, set: function(){console.log('set')} }); var o = Object.create(proto); o[0] = 3; o[0] === undefined Expected: Console prints 'set', 'get', and 'true', as o[0] === undefined. Actual: Console prints 'false', as o[0] === 3 Chrome, Firefox, and IE/Edge will show the expected behavior.
Attachments
Radar WebKit Bug Importer
Comment 1 2016-09-12 11:34:13 PDT
David Kilzer (:ddkilzer)
Comment 2 2016-09-12 11:35:32 PDT
According to this thread on Twitter, the bug is already fixed in Safari 10: <https://twitter.com/JakeDChampion/status/775293346608713728>
David Kilzer (:ddkilzer)
Comment 3 2016-09-12 11:39:19 PDT
Not sure when this was fixed, so RESOLVED/CONFIG CHANGED.
Note You need to log in before you can comment on or make changes to this bug.