Declaración de variables usando var, let, const y tipos de datos
Este artículo tiene más de un año de antigüedad, el contenido pudiera estar obsoleto.
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.
Algo importante a tener en cuenta es que los valores de las variables declaradas con var pueden ser actualizables
1var name = 'Angel';2console.log(name); // Angel3var 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
Si quisiéramos acceder a la variable name fuera de la función vamos a recibir un error de variable no definida
block scope
Y ya por último, halaremos sobre 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 perro6}
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 perro6}
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
.