es.reflect.delete-property.js 665 B

12345678910111213141516
  1. 'use strict';
  2. var $ = require('../internals/export');
  3. var anObject = require('../internals/an-object');
  4. var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
  5. var toPropertyKey = require('../internals/to-property-key');
  6. // `Reflect.deleteProperty` method
  7. // https://tc39.es/ecma262/#sec-reflect.deleteproperty
  8. $({ target: 'Reflect', stat: true }, {
  9. deleteProperty: function deleteProperty(target, propertyKey) {
  10. anObject(target);
  11. var key = toPropertyKey(propertyKey);
  12. var descriptor = getOwnPropertyDescriptor(target, key);
  13. return descriptor && !descriptor.configurable ? false : delete target[key];
  14. }
  15. });