JavaScript | handler.deleteProperty() Method

The handler.deleteProperty() method in JavaScript is a trap for the delete operator. This method returns the boolean value if the delete was successful.

Syntax:

const p = new Proxy(target, {
  deleteProperty: function(target, property) {
  }
});

Parameters: This method accept two parameters as mentioned above and described below:

  • Target: This parameter holds the target object.
  • Property: This parameter holds the name of the property which is to be delete.

Return value: This method returns a Boolean value which indicates whether the property was successfully deleted.

Below examples illustrate the handler.deleteProperty() method in JavaScript:



Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

const monster1 = {
  Color: 'Green'
};
  
const handler1 = {
  deleteProperty(target, prop) {
    if (prop in target) {
      delete target[prop];
      console.log(`${prop} is property which is removed`);
    }
  }
};
  
console.log(monster1.Color);
  
const proxy1 = new Proxy(monster1, handler1);
delete proxy1.Color;
  
console.log(monster1.Color);
  
var f = { bar: 'baz' }    
console.log('bar' in f)  
    
delete f.bar  
console.log('bar' in f) 

chevron_right


Output:

"Green"
"Color is property which is removed"
undefined
true
false

Example-2:

filter_none

edit
close

play_arrow

link
brightness_4
code

const obj = new Proxy({}, {
  deleteProperty: function(target, prop) {
    if (prop in target){
      delete target[prop]
      console.log(prop+ ' property is removed.')
      return true
    }
    else {
      console.log(prop+ ' property is not removed.')
      return false
    }
  }
})
  
let result
  
obj.prop1 = 10
console.log('prop1' in obj) 
  
result = delete obj.prop1   
console.log(result)    
console.log('prop1' in obj) 
  
result = delete obj.prop1   
console.log(result)

chevron_right


Output:

true
"prop1 property is removed."
true
false
"prop1 property is not removed."
false

Supported Browsers: The browsers supported by handler.deleteProperty() method are listed below:

  • Google Chrome
  • Firefox
  • Opera
  • Safari
  • Edge

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.