Open In App

JavaScript Handler deleteProperty() Method

Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript 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 accepts 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 deleted.

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

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

Example 1: In this example, we will trap a delete operator using the handler.deleteProperty() method in JavaScript.
 

javascript




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);
 
let f = { bar: 'baz' }
console.log('bar' in f)
 
delete f.bar
console.log('bar' in f)


Output: 

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

Example 2: In this example, we will trap a delete operator using the handler.deleteProperty() method in JavaScript.

javascript




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)


Output: 

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

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

  • Google Chrome 49 and above
  • Edge 12 and above
  • Firefox 18 and above
  • Opera 36 and above
  • Safari  10 and above

We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article.



Last Updated : 22 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads