es-shims/Object.entries

Not-yet-visited keys deleted on a [[Get]] must not show up in the output

ljharb opened this issue · 0 comments

From tc39/proposal-object-values-entries#4:

Per https://bugzilla.mozilla.org/show_bug.cgi?id=1208464#c8:

a getter for one property can delete another property:

var o = {get a() {delete this.b; return 1}, b: 2, c: 3};
var keys = Object.keys(o);
var entries = keys.map(key => [key, o[key]]);

This results in [['a', 1], ['b', undefined], ['c', 3]], but should result in [['a', 1], ['c', 3]].