JavaScript TypeError: no se puede eliminar el elemento de array no configurable

Esta excepción de JavaScript no puede eliminar el elemento de array no configurable que se produce si se intenta acortar la longitud de la array y cualquiera de los elementos de la array no es configurable.

Mensaje:

TypeError: can't delete non-configurable array element (Firefox)
TypeError: Cannot delete property '2' of [object Array] (Chrome)

Tipo de error:

TypeError

Causa del error: cuando uno de los elementos de la array no es configurable y el código intenta acortar la longitud de la array.

Ejemplo 1: en este ejemplo, las propiedades de la array no son configurables y se intentó eliminar la propiedad acortando la longitud de la array. 

HTML

<script>
    var array = [];
    Object.defineProperty(array, 1, {value: 4}); 
    Object.defineProperty(array, 2, {value: "4"});
    array.length = 1; // Error here
</script>

Producción:

TypeError: can't delete non-configurable array element

Ejemplo 2: en este ejemplo, las propiedades de la array no son configurables y se intentó eliminar la propiedad acortando la longitud de la array. 

HTML

<script>
    var array = ['a', 'b', 'c'];
    Object.seal(array);
    array.length = 1; // Error here
</script>

Producción:

TypeError: can't delete non-configurable array element

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 *