JavaScript | método handler.deleteProperty()

El método handler.deleteProperty() en JavaScript es una trampa para el operador de eliminación. Este método devuelve el valor booleano si la eliminación fue exitosa.
Sintaxis: 
 

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

Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación: 
 

  • Destino: este parámetro contiene el objeto de destino.
  • Propiedad: este parámetro contiene el nombre de la propiedad que se va a eliminar.

Valor devuelto: este método devuelve un valor booleano que indica si la propiedad se eliminó correctamente.
Los siguientes ejemplos ilustran el método handler.deleteProperty() en JavaScript:
Ejemplo 1: 
 

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

Producción: 
 

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

Ejemplo-2: 
 

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)

Producción: 
 

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

Navegadores compatibles: los navegadores compatibles con el método handler.deleteProperty() se enumeran a continuación: 
 

  • Google Chrome 49 y superior
  • Borde 12 y superior
  • Firefox 18 y superior
  • Ópera 36 y superior
  • Safari 10 y superior

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *