Saltar al contenido
Tipo de variable no declarada en JavaScript: ¿Qué es?

Tipo de variable no declarada en JavaScript: ¿Qué es?

¿Alguna vez has pensado, ¿qué es el tipo de variable no declarada en JavaScript? Lo sé, lo primero que puede venir a la mente es: ¿cómo puede una variable no declarada tener un tipo? Sí, en JavaScript es posible.

2min read

¿Alguna vez has pensado, ¿qué es el tipo de variable no declarada en JavaScript? Lo sé, lo primero que puede venir a la mente es: ¿cómo puede una variable no declarada tener un tipo? Sí, en JavaScript es posible.

variable no declarada en JavaScript

Para entenderlo, comencemos con la comprensión de los tipos en JavaScript. Hay siete tipos integrados en JavaScript. Son los siguientes:

  1. nulo
  2. indefinido
  3. booleano
  4. número
  5. cadena
  6. object
  7. symbol (added on ES6)

Cada variable con un valor asignado tiene un tipo. Consideremos el código que se enumera a continuación:

var foo = 9;
console.log(typeof (foo)); // number
var koo;
console.log(typeof (koo)); // undefined
var too = 'Infragistics';
console.log(typeof (too)); // string

Como puede ver en el fragmento anterior, si no hay ningún valor asignado, el tipo de variable es indefinido.

Como puede ver en el fragmento anterior, si no hay ningún valor asignado, el tipo de variable es indefinido.

Hasta aquí todo bien, hemos visto que la variable sin valor asignado es indefinida.  Consideremos el siguiente fragmento de código:

var koo;
console.log(koo); // undefiend
console.log(typeof (koo)); // undefined

Hemos creado una variable koo y no le hemos asignado ningún valor.  Ahora, tanto el valor como el tipo de koo se establecen en undefined.

Hemos creado una variable koo y no le hemos asignado ningún valor.  Ahora, tanto el valor como el tipo de koo se establecen en undefined.

Ahora que comprende el tipo y el valor asociados con undefined, pasemos a null. En JavaScript, null es un tipo primitivo.  Sin embargo, el tipo de valor nulo es object. Considere el código que se enumera a continuación:

var foo = null;
console.log(foo); // null
console.log(typeof (foo)); // object

Puede considerar como un error heredado que el tipo de valor nulo sea objeto en JavaScript.

Puede considerar como un error heredado que el tipo de valor nulo sea objeto en JavaScript.

Por último, pero igual de importante, en JavaScript una variable que no se declara también tiene un tipo. El tipo de variable declarado es undefined.

console.log(foo);// error foo is not defined
console.log(typeof (foo)); // undefined 

Al leer el valor de la variable, que no está declarado, JavaScript devolverá un error "no definido" y devolverá su tipo como indefinido

Al leer el valor de la variable, que no está declarado, JavaScript devolverá un error "no definido" y devolverá su tipo como indefinido

Además, hay que tener en cuenta que en el mundo de JavaScript no es lo mismo no definido que indefinido.  Espero que ahora entiendas varios tipos primitivos en JavaScript.

Solicitar una demostración