Variables en Js
Variables en Js
(Por ejemplo:) 4
1
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
var edad = 4
nombre = 'Ben'
Al usar la palabra clave var, las variables también pueden ser declaradas
sin valor inicial.
var año
Aquí hemos definido la variable año, pero esta no apunta hacia ningún
valor. Más adelante, si queremos que apunte hacia algún valor, podemos usar
el operador de asignación para lograrlo.
año = 2020
Ahora nuestra variable año apuntará al valor 2020.
2
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
Para explicar por qué eran necesarias, veremos los problemas que
tiene var. Con el objetivo de observar estos problemas, aprenderemos lo que es
el Scope.
¿Qué es el Scope?
El ámbito (Scope) se refiere a los lugares dentro de nuestro código en
donde las variables están disponibles para su uso. Cuando una variable tiene
un ámbito global, significa que está disponible en cualquier lugar de tu
programa. Veamos un ejemplo.
Debido a que nuestra variable fue creada por fuera de la función, tiene
alcance global. Esto significa que está disponible en cualquier parte de tu
código, incluyendo dentro de cualquier función. Es por eso que la
función, imprimirNombre, tiene acceso a la variable nombre.
Vamos ahora a crear una variable que tenga alcance de función. Esto
significa que la variable solo se puede acceder dentro de la función en la que
fue creada. Este siguiente ejemplo será muy similar al código anterior, pero con
un posicionamiento diferente de la variable.
function imprimirAño() {
var año = 2025
}
console.log(año)
Ahora nos saldrá un error en la consola: año is not defined (año no está
definida). Esto es porque la variable año tiene alcance de función. Es decir, solo
existe dentro de la función dentro de la cuál fue creada. Al ejecutar console.log,
hemos intentado acceder a la variable desde afuera de la función, donde no
tenemos acceso.
3
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
var edad = 27
if (edad) {
var dobleDeEdad = edad + edad
console.log(`El doble de tu edad actual es ${dobleDeEdad}`)
}
dobleDeEdad
54
4
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
var edad = 27
if (edad) {
//Necesitamos que var dobleDeEdad exista solamente en este bloque de
código dentro de las llaves
var dobleDeEdad = edad + edad
console.log(`El doble de tu edad actual es ${dobleDeEdad}`)
}
dobleDeEdad
54
//Nuestra var dobleDeEdad está disponible por fuera de estas llaves, en el
ámbito global
Sería bueno que tuviésemos una manera de crear una variable que
*solo* exista dentro de la sentencia if en donde fue creada. En otras palabras,
el bloque de código que existe dentro de las llaves.
var edad = 27
if (edad) {
//Queremos que nuestra variable solo exista aquí, donde la usaremos
var dobleDeEdad = edad + edad
console.log(`El doble de tu edad actual es ${dobleDeEdad}`)
}
Para ayudar a resolver este problema, las palabras
clave const y let fueron introducidas a JavaScript.
const funciona similar a var, pero con unas cuantas diferencias grandes.
Primero, const tiene alcance de bloque, mientras que var tiene alcance
de función.
¿Qué es un bloque?
var edad = 27
if (edad) {
const dobleDeEdad = edad + edad
5
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
¿Cómo funcionan las variables con ámbito de bloque dentro del contexto
de las funciones? Para aprender sobre esto, vamos a crear y luego llamar a una
función, devuelveX.
function devuelveX() {
const x = 1
return x
}
devuelveX()
Al llamar a la función devuelveX, podemos ver que esta devuelve el
valor de x, que es 1.
Lo siguiente que debes saber sobre const es que solo se puede declarar
una sola vez. Escribe este código en la consola:
const y = 1
const y = 2
Deberías ver un error, Identifier 'y' has already been declared (El
identificador 'y' ya ha sido declarado).
var x = 1
var x = 2
La variable x señalará hacia el valor 2 sin errores. Esto puede causar
errores para ti como programador, siendo que a lo mejor no quisiste asignarle
6
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
un nuevo valor a tu variable. Entonces, usar const te puede ayudar, dado que
recibirás un error si tratas de reasignar la variable accidentalmente.
Esta es una fortaleza de la palabra clave const que fue introducida como
una mejor manera de crear variables en JavaScript. Sin embargo, ¿qué pasa en
los casos cuando sí quieres actualizar el valor de tu variable?
Declaremos una variable adulto, con valor false. También crearemos una
variable edad con valor 20.
const edad = 20
Let, como const, tiene alcance de bloque. Si reemplazas const por let en
nuestro ejemplo previo de dobleDeEdad, funcionaría igual.
7
Construcción de
Páginas WEB I Docente: Víctor M. González Camacho
Al usar la palabra clave let, hemos actualizado nuestra variable para que
apunte al valor de true como queríamos. Algunas veces en programación,
necesitaremos actualizar una variable dependiendo de ciertos datos que
recibamos. Podemos usar let para lograr esto.
Conclusión
En resumen, hemos aprendido que las variables son usadas para
registrar y reusar datos en nuestros programas informáticos. El alcance (Scope)
se refiere al lugar en nuestro código donde las variables están disponibles para
su uso.
Las variables se pueden declarar usando var, const, o let. var tiene
alcance de función, mientras que const y let tienen alcance de bloque. Las
variables const no pueden ser reasignadas, mientras que las variables let si
pueden serlo.
var, const, y let pueden ser confusas al principio. Puede ayudar que leas
varios tutoriales al respecto, así como también poner tu propio código a prueba
de diferentes maneras para fortalecer tu entendimiento.
Tener una base sólida de var, const y let te ayudará no solo al principio
de tu carrera de JavaScript, sino también a lo largo de esta.