Javascript Delete: Cómo eliminar una propiedad de un objeto en JS

El propósito del operador delete en Javascript, como se puede pensar es eliminar cosas. Más específicamente, borrará las propiedades de los objetos. El operador delete está diseñado para ser utilizado en las propiedades de los objetos. No afecta a las variables ni a las funciones.

Después de la eliminación, la propiedad no puede ser utilizada antes de añadirla de nuevo al objeto.

Operador delete de javascript

El delete de javascript es un operador incorporado que elimina la propiedad del objeto. El operador delete elimina tanto el valor de la propiedad como la propia propiedad. Si no hay más referencias a la misma propiedad, entonces finalmente se libera automáticamente.

El operador delete también tiene el valor de retorno. Si tiene éxito en la eliminación de la propiedad, devolverá true. Si no consigue eliminar la propiedad porque ésta no es escribible, devolverá false, o si está en modo estricto, lanzará un error.

Sintaxis

La sintaxis del operador Delete de Javascript es la siguiente.

delete object.property// ordelete object

Veamos el siguiente ejemplo.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj.a);delete appObj.a;console.log(appObj);

Veamos la salida.

Tutorial del Operador Delete de Javascript

Una cosa que debes tener en cuenta es que el operador delete no debe ser usado en propiedades de objetos predefinidos de Javascript. Puede bloquear tu aplicación.

Ahora, si intentas eliminar todo el objeto, entonces puede que no te sea posible. Sólo puede eliminar las propiedades del objeto y no todo el objeto.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);delete appObj;console.log(appObj);

Vea la salida.

Cómo eliminar una propiedad de un objeto

A diferencia de lo que sugiere la creencia común, un operador de eliminación en Javascript no tiene nada que ver con la liberación directa de la memoria. La gestión de la memoria se hace indirectamente rompiendo referencias.

El operador delete elimina la propiedad dada del objeto. En la eliminación exitosa, devolverá true; de lo contrario, se devolverá false. Sin embargo, es esencial tener en cuenta los siguientes casos.

  1. Si la propiedad que está tratando de eliminar no existe en el objeto entonces, eliminar no tendrá ningún efecto y devolverá true.
  2. Si la propiedad con el mismo nombre existe en la cadena de prototipos del objeto, entonces, después de la eliminación, un objeto utilizará la propiedad de la cadena de prototipos. Por lo tanto, irá por la jerarquía superior.

Veamos el siguiente ejemplo de Verdadero o Falso.

// app.jslet appObj = {a: 21, b: 22, c: 23}; console.log(appObj);console.log(delete appObj.d);

Veamos el siguiente ejemplo.

Tutorial del Operador de Borrado de Javascript | Quitar Propiedad del Objeto

Puedes ver que si la propiedad del objeto no existe, y si intentas quitar esa propiedad que no existe, entonces nos dará el verdadero en la salida.

Benchmark del Operador Delete en Javascript

Puedes ver el benchmark aquí.

Delete es la única forma verdadera de eliminar las propiedades del objeto sin que queden restos, pero funciona ~ 100 veces más lento que su «forma alternativa», que es la siguiente.

object = undefined

Esta alternativa no es la forma correcta de eliminar la propiedad de un objeto. Pero, si la usas con cuidado, puedes acelerar drásticamente algunos algoritmos.

Entonces, ¿cuándo usar undefined y cuándo usar el operador delete?

El objeto puede verse como el conjunto de pares clave-valor. Lo que yo llamo ‘valor’ es una primitiva o una referencia a otro objeto, conectado a esa ‘clave’.

Usa el operador delete cuando pasas un objeto resultado al código sobre el que no tienes ningún control (o cuando no estás seguro de tu equipo o de ti mismo). Elimina la clave del hashmap.

let obj = { prop: 1 }; delete obj.prop;

Usa el undefined cuando te importe el rendimiento. Puede dar un excelente impulso a tu código.

La clave permanece en su lugar en el hashmap, y sólo se sustituye el valor por un indefinido.

Entiende que el bucle for in seguirá iterando sobre esa clave.

let obj = { prop: 1 }; obj.prop = undefined;

Usando el método anterior, no todas las formas de determinar la existencia de la propiedad funcionarán como se espera.

Sin embargo, este código:

object.prop === undefined

se comportará de forma equivalente para ambos métodos.

Conclusión

La necesidad de un operador de borrado en Javascript es siempre que se quiera eliminar una propiedad de un objeto. A veces, en lugar de eliminar una propiedad, los desarrolladores de Javascript le dan un valor de null.

Finalmente, la propiedad remove de Object en Javascript Example ha terminado.

Post recomendados

Valores de objetos en Javascript

Javascript Async / Await

Javascript Fetch API

Clases en Javascript

Javascript Import

Deja una respuesta

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