JavaScript ReferenceError – Asignación a variable no declarada

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *