JavaScript TypeError: «X» es de solo lectura

Esta excepción de JavaScript es de solo lectura, funciona en modo estricto y ocurre si una variable global o una propiedad de objeto que se ha asignado a un valor es una propiedad de solo lectura.

Mensaje:

TypeError: Assignment to read-only properties is not allowed in strict mode (Edge)
TypeError: "x" is read-only (Firefox)
TypeError: 0 is read-only (Firefox)
TypeError: Cannot assign to read only property 'x' of #<Object> (Chrome)
TypeError: Cannot assign to read only property '0' of [object Array] (Chrome)

Tipo de error:

TypeError

Causa del error: la variable global o la propiedad del objeto que tiene un valor asignado es una propiedad de solo lectura. No puede escribir datos en esas variables.

Ejemplo 1: En este ejemplo, no se puede modificar ninguna propiedad de GFG_Obj. 

HTML

<script>
'use strict';
var GFG_Obj = Object.freeze({prop1: 'val1', prop2: 'val2'});
GFG_Obj.prop2 = 0;  // TypeError
</script>

Salida (en consola):

TypeError: Assignment to read-only properties is not allowed in strict mode

Ejemplo 2: en este ejemplo, el valor de Math.PI no se puede cambiar (que es de solo lectura).

HTML

<script>
    'use strict';
    Math.PI = 5;
</script>

Salida (en consola):

TypeError: Assignment to read-only properties 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 *