Declaración de variables usando var, let, const y tipos de datos

Acá escribo un poco sobre las variables usando var, let, const y los tipos de datos que pueden ser asignados a esas variables.

Los tipos de datos son básicamente variables o constantes.

  • Las variables pueden ser cambiadas
  • Las constantes siguen siendo las mismas.

Hablemos sobre var

Las variables en JavaScript son contenedores que contienen datos reutilizables. Es comun inicializar variables de esta forma:

1var algo;

Los valores o tipos de datos que podemos asignar a una variable son:

  • String
  • Number
  • Boolean
  • Null
  • Undefined
  • Array / Object

Ejemplo:

1var nombre = 'Angel'; // String
2var edad = 40; // Number
3var hijos = true | false; // Boolean
4var telefono = null; // Null
5var negro; // Undefined
6 
7var arreglo = ['a','b','c',]; // Array
8var objeto = {
9 nombre: 'Angel',
10 edad: 40,
11};

Como declarar una variable:

  • Los nombres deben comenzar con una cadena en minúscula.
  • Los nombres no pueden contener símbolos o comenzar con símbolos.
  • Los nombres no pueden comenzar con un número.
  • Los nombres pueden contener una combinación de cadenas en mayúsculas, cadenas en minúsculas y números.
1var name = 'Angel';
2console.log(name); // Angel
3var name = 'Chris';
4console.log(name); // Chris

El scope de var

Es importante tener en cuenta el alcance (scope) de una variable declarada con var. Ejemplo, si tenemos declarada la siguiente variable:

1var name = 'Angel';

La misma tiene un alcance global y puede ser utilizada donde se necesite.

¿Que pasa cuando usamos una función?

Acá el scope de la variable declarada con var cambia ya que solo tiene acceso dentro de la función donde fue declarada, ejemplo:

1function sayMyName() {
2 var name = 'Angel';
3 console.log(name);
4}
5sayMyName();

Efectivamente va a funcionar ya que veremos el output en la consola de desarrollo, a esto se le conoce como function scope

Y ya por último, halaremos sobre block scope

Por ejemplo:

1var age = 100;
2 
3if (age > 12) {
4 var dogYears = age * 7;
5 console.log('Tienes ' + dogYears + ' años de perro') // Tienes 700 años de perro
6}

A diferencia de function scope con los block scope ocurre algo interesante y es que se pueden acceder a las variables que esten dentro de {}. Si vamos a nuestra consola y escribimos dogYears vamos a tener como resultado el valor 700

Hablemos sobre let y const

Las variables declaradas con let y const son del tipo block scope

Por ejemplo:

1var age = 100;
2 
3if (age > 12) {
4 let dogYears = age * 7;
5 console.log('Tienes ' + dogYears + ' años de perro') // Tienes 700 años de perro
6}

Lo de arriba funciona exactamente igual, la única diferencia estaría en el momento de acceder a la variable dogYears vamos a obtener un error de variable no declarada ya que la variable declarada con let sólo se puede acceder y usar dentro de {} y esto también ocurre si cambiamos let por const.

Angel Cruz's avatar
Autor
Angel Cruz