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.
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
.
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.