Esta excepción de JavaScript que no se puede asignar a la propiedad ocurre solo en modo estricto y este error ocurre si el usuario intenta crear una propiedad en cualquiera de los valores primitivos como un símbolo, una string, un número o un valor booleano. Los valores primitivos no se pueden utilizar para contener ninguna propiedad.
Mensaje:
TypeError: can't assign to property "x" on {y}: not an object (Firefox) TypeError: Cannot create property 'x' on {y} (Chrome)
Tipo de error:
TypeError
Causa del error: en modo estricto, se usa un valor primitivo en el código para crear una propiedad en él. Los valores primitivos no pueden contener propiedades.
Ejemplo 1: en este ejemplo, la string se usa para crear propiedades en ella, por lo que se ha producido el error.
HTML
<script> 'use strict'; var GFG = "This is GeeksforGeeks"; GFG.prop = {}; // error here </script>
Salida (en consola):
TypeError: Cannot create property 'prop' on string 'This is GeeksforGeeks'
Ejemplo 2: En este ejemplo, el booleano ‘true’ se usa para crear propiedades en él, por lo que se ha producido el error.
HTML
<script> 'use strict'; var variableName = true; variableName.prop = {}; // error here </script>
Salida (en consola):
TypeError: Cannot create property 'prop' on boolean 'true'
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA