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:
[code class=js]var algo;[/code]Los valores o tipos de datos que podemos asignar a una variable son:
- String
- Number
- Boolean
- Null
- Undefined
- Array / Object
Ejemplo:
[code class=js] var nombre = 'Angel'; // String var edad = 40; // Number var hijos = true | false; // Boolean var telefono = null; // Null var negro; // Undefinedvar arreglo = ['a','b','c',]; // Array
var objeto = {
nombre: 'Angel',
edad: 40,
};
[/code]
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.
[inArticle]
[alert class=blue]Algo importante a tener en cuenta es que los valores de las variables declaradas con var pueden ser actualizables[/alert]
[code class=js] var name = 'Angel'; console.log(name); // Angel var name = 'Chris'; console.log(name); // Chris [/code]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:
[code class=js] var name = 'Angel'; [/code]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:
[code class=js] function sayMyName() { var name = 'Angel'; console.log(name); } sayMyName(); [/code]Efectivamente va a funcionar ya que veremos el output en la consola de desarrollo, a esto se le conoce como
function scope
[alert class=blue]Si quisiéramos acceder a la variable name fuera de la función vamos a recibir un error de variable no definida[/alert]
Y ya por último, halaremos sobre block scope
Por ejemplo:
[code class=js] var age = 100;if (age > 12) { var dogYears = age * 7; console.log('Tienes ' + dogYears + ' años de perro') // Tienes 700 años de perro } [/code]
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:
[code class=js] var age = 100;if (age > 12) { let dogYears = age * 7; console.log('Tienes ' + dogYears + ' años de perro') // Tienes 700 años de perro } [/code]
Lo de arriba funcionaría exactamente igual, la unica diferencia estaría en el momento de acceder a la varaiable
dogYears
vamos a obtener un error de varaible no declarada ya que la variable declarada con
let
solo se puede acceder y usar dentro de {}
Esto tambíen ocurre si cambiamos let
por cont
.
[inArticle]