function(name) {
    "use strict";
    var trap = this.getTrap("deleteProperty");
    if (trap === undefined) {
      // default forwarding behavior
      return Reflect.deleteProperty(this.target, name);
    }

    name = String(name);
    var res = trap.call(this.handler, this.target, name);
    res = !!res; // coerce to Boolean

    if (res === true) {
      if (isSealed(name, this.target)) {
        throw new TypeError("property '"+name+"' is non-configurable "+
                            "and can't be deleted");
      }
    }

    return res;
  }
function(name) {
    "use strict";
    var trap = this.getTrap("deleteProperty");
    if (trap === undefined) {
      // default forwarding behavior
      return Reflect.deleteProperty(this.target, name);
    }

    name = String(name);
    var res = trap.call(this.handler, this.target, name);
    res = !!res; // coerce to Boolean

    if (res === true) {
      if (isSealed(name, this.target)) {
        throw new TypeError("property '"+name+"' is non-configurable "+
                            "and can't be deleted");
      }
    }

    return res;
  }
function ( name ) { "use strict" ; var trap = this . getTrap ( "deleteProperty" ) ; if ( trap === undefined ) { // default forwarding behavior return Reflect . deleteProperty ( this . target , name ) ; } name = String ( name ) ; var res = trap . call ( this . handler , this . target , name ) ; res = ! ! res ; // coerce to Boolean if ( res === true ) { if ( isSealed ( name , this . target ) ) { throw new TypeError ( "property '" + name + "' is non-configurable " + "and can't be deleted" ) ; } } return res ; }
If name denotes a sealed property, check whether handler rejects.
If name denotes a sealed property check whether handler rejects .