es6.reflect.define-property.js
637 Bytes
// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
var $ = require('./$')
, $export = require('./$.export')
, anObject = require('./$.an-object');
// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
$export($export.S + $export.F * require('./$.fails')(function(){
Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2});
}), 'Reflect', {
defineProperty: function defineProperty(target, propertyKey, attributes){
anObject(target);
try {
$.setDesc(target, propertyKey, attributes);
return true;
} catch(e){
return false;
}
}
});