var proxy = Proxy.create({ getOwnPropertyNames: function(){ return ["toString"]; // or any other property name in Object.prototype }, keys: function(){ return ["toString"]; } }); Object.keys(proxy); //TypeError: Trap 'undefined' returned repeated property name 'toString' // expected: [ "toString" ] Object.getOwnPropertyNames(proxy); //TypeError: Trap 'getOwnPropertyNames' returned repeated property name 'toString' // expected: [ "toString" ]