Indefinido: Ocurre cuando una variable ha sido declarada pero no se le ha asignado ningún valor. Undefined no es una palabra clave.
No declarada: ocurre cuando intentamos acceder a cualquier variable que no esté inicializada o declarada antes usando la palabra clave var o const . Si usamos el operador ‘typeof’ para obtener el valor de una variable no declarada, nos enfrentaremos al error de tiempo de ejecución con el valor devuelto como «indefinido» . El ámbito de las variables no declaradas es siempre global.
Por ejemplo:
- Indefinido:
var geek; undefined console.log(geek)
- no declarado:
//ReferenceError: myVariable is not defined console.log(myVariable)
- Ejemplo 1: Este ejemplo ilustra una situación en la que se utiliza una variable no declarada.
<script>
function
GFG(){
//'use strict' verifies that no undeclared
// variable is present in our code
'use strict'
;
x =
"GeeksForGeeks"
;
}
GFG();
//accessing the above function
</script>
Producción:
ReferenceError: x is not defined
- Ejemplo 2: Este ejemplo comprueba si una variable determinada no está definida o no.
<!DOCTYPE html>
<
html
>
<
body
>
<
style
>
h1 {
color: green;
}
</
style
>
<
h1
>UNDEFINED OR NOT.</
h1
>
<
button
onclick
=
"checkVar()"
>
Try it
</
button
>
<
p
id
=
"gfg"
></
p
>
<
script
>
function checkVar() {
if (typeof variable === "undefined") {
string = "Variable is undefined";
} else {
string = "Variable is defined";
}
document.getElementById("gfg").innerHTML =
string;
}
</
script
>
</
body
>
</
html
>
Producción: