Open In App

JavaScript Handler deleteProperty() Method

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: 

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.
 




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.




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: 

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


Article Tags :