es6.reflect.define-property.js 763 B

12345678910111213141516171819202122
  1. // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
  2. var dP = require('./_object-dp')
  3. , $export = require('./_export')
  4. , anObject = require('./_an-object')
  5. , toPrimitive = require('./_to-primitive');
  6. // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
  7. $export($export.S + $export.F * require('./_fails')(function(){
  8. Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});
  9. }), 'Reflect', {
  10. defineProperty: function defineProperty(target, propertyKey, attributes){
  11. anObject(target);
  12. propertyKey = toPrimitive(propertyKey, true);
  13. anObject(attributes);
  14. try {
  15. dP.f(target, propertyKey, attributes);
  16. return true;
  17. } catch(e){
  18. return false;
  19. }
  20. }
  21. });