12345678910111213141516171819202122 |
- // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
- var dP = require('./_object-dp')
- , $export = require('./_export')
- , anObject = require('./_an-object')
- , toPrimitive = require('./_to-primitive');
- // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
- $export($export.S + $export.F * require('./_fails')(function(){
- Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});
- }), 'Reflect', {
- defineProperty: function defineProperty(target, propertyKey, attributes){
- anObject(target);
- propertyKey = toPrimitive(propertyKey, true);
- anObject(attributes);
- try {
- dP.f(target, propertyKey, attributes);
- return true;
- } catch(e){
- return false;
- }
- }
- });
|