Skip to content

Latest commit

 

History

History
37 lines (25 loc) · 1.53 KB

File metadata and controls

37 lines (25 loc) · 1.53 KB
chapter 9
pageNumber 99
description Se puede utilizar una propiedad `delete` para **eliminar una propiedad** de un objeto. Cuando se elimina una propiedad, se elimina del objeto y no se puede acceder a ella ni enumerarla (es decir, no aparece en un bucle for-in).

Operador Delete

Un operador delete se puede usar para eliminar una propiedad de un objeto. Cuando se elimina una propiedad, es eliminada del objeto y no puede ser accedida o enumerada (por ejemplo, no se muestra en un bucle for-in).

Aquí está la sintaxis para usar delete:

delete object.property;

Por ejemplo:

let adulto = { edad: 26 },
  niño = Object.create(adulto);
  
niño.edad = 8;

delete niño.edad;

/* Elimina la propiedad de edad del niño, revelando la edad del prototipo, porque entonces no se anula. */

let prototipoEdad = niño.edad;
// 26, porque el niño no tiene su propia propiedad de edad.

{% hint style="warning" %}

El operador delete solo funciona con las propiedades propias de un objeto y no con las propiedades heredadas. Tampoco funciona en propiedades que tienen el atributo configurable establecido en false. {% endhint %}

El operador delete no modifica la cadena de prototipos del objeto. Simplemente elimina la propiedad especificada del objeto y tampoco destruye el objeto ni sus propiedades. Simplemente hace que las propiedades sean inaccesibles. Si necesita destruir un objeto y liberar su memoria, puede establecer el objeto a null o usar un recolector de basura para recuperar la memoria.