JavaScript TypeError: la propiedad «X» no es configurable y no se puede eliminar

Esta propiedad de excepción de JavaScript no se puede configurar y no se puede eliminar si el usuario intenta eliminar una propiedad y la propiedad no se puede configurar.

Mensaje:

TypeError: Calling delete on 'x' is not allowed in strict mode (Edge)
TypeError: property "x" is non-configurable and can't be deleted. (Firefox)
TypeError: Cannot delete property 'x' of #<Object> (Chrome)

Tipo de error:

TypeError

Causa del error: hay un intento de eliminar una propiedad que no es configurable.

Ejemplo 1: en este ejemplo, la eliminación se usa para eliminar una propiedad no configurable, por lo que se ha producido el error.

HTML

<script>
    'use strict';
    var GFG_Obj = Object.freeze({prop1: 'val1', prop2: 123});
    delete GFG_Obj.prop2;  // Error here
</script>

Salida (en consola):

TypeError: Calling delete on 'prop2' is not allowed in strict mode

Ejemplo 2: en este ejemplo, la eliminación se usa para eliminar PI , que es una propiedad no configurable, por lo que se ha producido el error.

HTML

<script>
    'use strict';
    delete Math.PI;  // Error here
</script>

Salida (en consola):

TypeError: Calling delete on 'PI' is not allowed in strict mode

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar 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 *