diff --git a/lib/util.js b/lib/util.js index 868c6c8..d138b17 100644 --- a/lib/util.js +++ b/lib/util.js @@ -562,8 +562,8 @@ exports.defineSecureProp( exports.getPropertyDescriptor, 'canTraverse', /** - * Appropriately returns defineSecureProp implementation to avoid check on each - * invocation + * Appropriately returns defineSecureProp implementation to avoid check on + * each invocation * * @return {function( Object, string, * )} */ @@ -584,26 +584,14 @@ function getDefineSecureProp() // uses ECMAScript 5's Object.defineProperty() method return function( obj, prop, value ) { - try + Object.defineProperty( obj, prop, { - Object.defineProperty( obj, prop, - { - value: value, + value: value, - enumerable: false, - writable: false, - configurable: false, - }); - } - catch ( e ) - { - // let's not have this happen again, as repeatedly throwing - // exceptions will do nothing but slow down the system - exports.definePropertyFallback( true ); - - // there's an error (ehem, IE8); fall back - fallback( obj, prop, value ); - } + enumerable: false, + writable: false, + configurable: false, + } ); }; } }