¿Qué es 'indefinido' en JavaScript?

Este breve artículo explicará qué significa "indefinido" en JavaScript, tanto como tipo y una variable valor .

Crear una variable con un indefinido valor

Para crear una variable con un valor indefinido, simplemente debe declararse sin un valor asignado, por ejemplo:

var myVariable;
console.log(myVariable);

Si se ejecuta el código anterior, indefinido se registra como el valor de myVariable ya que no se asignó ningún valor.

indefinido es un tipo de variable

indefinido es uno de los tipos de variables primitivas en JavaScript.

Una variable tipo describe para qué se puede usar una variable (por ejemplo, las variables de tipo numérico se pueden usar en aritmética, las variables de tipo cadena se pueden unir y dividir con otras cadenas).

indefinido ser su propio tipo significa que no se puede confundir con una cadena que contiene la palabra "indefinido":no tiene un valor utilizable definido. Es indefinido en todos los sentidos excepto que la variable fue nombrada.

La instancia de de JavaScript () puede decirle de qué tipo es una instancia una variable.

indefinido es un valor

indefinido las variables también se tratan como valores:el valor se puede comparar para comprobar si la variable es igual a indefinido . Tenga en cuenta que el valor real de una variable indefinida NO es indefinido – no contiene una cadena con esas palabras – solo muestra esas palabras cuando se registra para decirle que no está definido. No hay valor.

Indefinido no es nulo

indefinido no es nulo .

Esta es una distinción bastante importante.

nulo es un valor vacío, y a veces establecemos valores vacíos deliberadamente (por ejemplo, si programamos un simulador de autobús escolar, podríamos tener un asiento vacío; tendría un valor nulo porque no hay nadie en él, no porque no se haya dado ningún valor). indefinido no tiene valor, pero no lo era (y no debería serlo) explícitamente establecer como vacío.

Comprobar si una variable no está definida

Hay varias formas de comprobar si una variable es indefinida .

Por valor

Como indefinido se puede tratar como un valor de variable, la comparación booleana se puede usar para verificar si una variable no está definida:

if (myVariable === undefined) {
    // Value is undefined
}

Usando typeof

El tipo de operador devuelve el nombre del tipo o constructor de la variable y se puede usar para verificar si un valor no está definido (ya que también es un tipo de variable, como se explicó anteriormente):

if (typeof myVariable === 'undefined') {
    // Value is undefined
}

Esta es la mejor manera de verificar si una variable no está definida, ya que no generará un error si la variable no ha sido declarada .

Puede nombrar una variable 'indefinida' Pero realmente no deberías

Fuera del ámbito global, puede dar a sus variables el nombre indefinido , por ejemplo:

function myFunction(){
    let undefined  = 'hello';
}

No hagas esto, solo te estás haciendo la vida innecesariamente difícil. Además, se volverá muy confuso cada vez que necesite usar esa variable.

¿Qué se puede hacer con una variable con un indefinido valor?

No puedes hacer mucho. Por supuesto, puede verificar si no está definido y luego decidir hacer algo con él si no lo está. – pero como indefinido no tiene un valor útil, intentar usarlo en operaciones aritméticas u otras operaciones lógicas es bastante infructuoso.

Puede obtener más información sobre los valores indefinidos en los documentos para desarrolladores de JavaScript de Mozilla.