Esta asignación de excepción de JavaScript a una variable no declarada se produce en modo estricto si el valor se ha asignado a una variable no declarada.
Mensaje:
ReferenceError: assignment to undeclared variable "x" (Firefox) ReferenceError: "x" is not defined (Chrome) ReferenceError: Variable undefined in strict mode (Edge)
Tipo de error:
ReferenceError
Causa del error: en algún lugar del código, hay una asignación sin la palabra clave var, let o const. Cuando se asigna un valor a una variable no declarada, se produce este error.
Ejemplo 1: en este ejemplo, la palabra clave const se usa con la asignación de variables, por lo que no se ha producido el error.
HTML
<!DOCTYPE HTML> <html> <head> </head> <body style="text-align:center;"> <h1 style="color:green;"> GeeksforGeeks </h1> <p> JavaScript ReferenceError- Assignment to undeclared variable </p> <button onclick = "Geeks();"> click here </button> <p id="GFG_DOWN"> </p> <script> var el_down = document.getElementById("GFG_DOWN"); function GFG() { 'use strict'; const var_1 = "Value assigned without declaration"; } function Geeks() { try { GFG(); el_down.innerHTML = "'Assignment to undeclared variable'"+ "error has not occurred"; } catch(e) { el_down.innerHTML = "'Assignment to undeclared variable'"+ "error has occurred"; } } </script> </body> </html>
Producción:
Ejemplo 2: en este ejemplo, la palabra clave var, let o const no se usa con la asignación de variables, por lo que se produjo el error.
HTML
<!DOCTYPE HTML> <html> <head> </head> <body style="text-align:center;"> <h1 style="color:green;"> GeeksforGeeks </h1> <p> JavaScript ReferenceError - Assignment to undeclared variable </p> <button onclick = "Geeks();"> click here </button> <p id="GFG_DOWN"> </p> <script> var el_down = document.getElementById("GFG_DOWN"); function GFG() { 'use strict'; var_1 = true; } function Geeks() { try { GFG(); el_down.innerHTML = "'Assignment to undeclared variable'"+ "error has not occurred"; } catch(e) { el_down.innerHTML = "'Assignment to undeclared variable'"+ "error has occurred"; } } </script> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA