Saltar al contenido

¿Cómo verificar si una variable no está definida o no está declarada en javascript?

Solución:

Al menos en el momento de escribir … No, no parece que puedas hacer algo como esto:

var a = undeclared(var) ? 'undeclared' : 'undefined'

La razón es que no puede pasar una variable no declarada a una función; Genera un error, incluso en modo no estricto.

Lo mejor que podemos hacer es esto:

var barIsDeclared = true;

try { bar; }
catch (e) {
  if (e.name == "ReferenceError") {
    barIsDeclared = false;
  }
}

console.log(barIsDeclared);

¿Por qué?

Indefinido: Ocurre cuando se ha declarado una variable pero no se le ha asignado ningún valor. Indefinido no es una palabra clave.

No declarado: Ocurre cuando intentamos acceder a cualquier variable que no esté inicializada o declarada anteriormente usando la palabra clave var o const. Si usamos el operador ‘typeof’ para obtener el valor de una variable no declarada, enfrentaremos el error de tiempo de ejecución con el valor de retorno como “indefinido”. El alcance de las variables no declaradas es siempre global.

Por ejemplo:

  • Indefinido:
var a;
undefined
console.log(a) // Success!
  • No declarado:
console.log(myVariable) // ReferenceError: myVariable is not defined

Cuando intentamos registrar un undeclared variable, genera un error. Intentando registrar un undefined variable no. Hacemos un try catch para comprobar solo eso.

'use strict'

Vale la pena mencionar que agregar 'use strict' en su código verifica que no esté presente ninguna variable no declarada y genera un error si hay una.

function define() {
 //'use strict' verifies that no undeclared variable is present in our code     
 'use strict';     
 x = "Defined";  
}

define();

ReferenceError: x is not defined

Otras lecturas:

  • Comprobando si existe una variable en javascript
  • ¿Qué son las variables no declaradas y no definidas en JavaScript?
  • Pregunta de la entrevista de JS: ¿Cuál es la diferencia entre una variable que es: nula, indefinida o no declarada?
  • JavaScript comprueba si la variable existe (está definida / inicializada)
  • Modo estricto
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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