Pareciera que hablamos de lo mismo cierto? , pero hay cierta diferencia ...
Hagamos una analogía con algo con de lo que estamos un poco mas familiarizados , "un teclado".
Piensa en todos los teclados que has usado alguna vez...
¿Tenían todos casi el mismo orden, las letras en un orden especifico , una barra espaciadora , una tecla Enter, y números ubicados horizontalmente en la parte superior?
Esto es así porque la mayoría de los fabricantes de teclados basan su diseño en el estándarQWERTY
Estos pueden ser de distintos, colores, alámbricos , inalámbricos, bluetooth o mecánicos , pero el orden de las teclas será el mismo ,respetando un estándar "El estándar QWERTY. (imagen arriba)otro estándar seria AZERTY (imagen abajo) , Notas la diferencia?Con esto en claro ,continuemos.
-ECMAScript es un estándar (lo que en el teclado fue el orden especifico de sus teclas)
-Javascript el modelo que respeta y/o se ajusta a este estándar.
Javascript es un modelo (posiblemente el mas popular) que se ajusta a los estándares de ECMAScript , pero no va a ser el único que existe , un par de ejemplos son , JScript y ActionScript
Esperemos esta pequeña explicación te haya ayudado a aclarar la diferencia entre ambos.
estaremos publicando próximamente contenido sobre la versión mas estable de ECMAScript y sobre el modelo mas popular de este JavaScript
Las variables escritas con letpueden sobrescribirse , podemos manipular su valor conforme lo necesitemos en la aplicación.
He declarado una variable "mejor_amigo" , pero este cambiara a lo largo de mi aplicación(como de nuestra vida :( )
letmejor_amigo = 'carlos'//declaramos
console.log(mejor_amigo) //carlos
mejor_amigo = 'pedro'//llamamos y renombramos
console.log(mejor_amigo) //pedro
Hemos renombrado la variable de Carlos a pedro.
const
Las variables escritas con const no podrán sobre-escribirse , como su nombre lo indica (son constantes) .
Por ejemplo definiremos una variable llamada mama, que sin importar el tiempo será igual en toda la aplicación (y en nuestra vida :) ), e intentaremos renombrar esta variable const
constmadre = 'Marisol'
console.log(madre) //Marisol
madre = 'Clarita'
console.log(madre) //error
Lo que imprimirá la consola nota ; los nombres de variables (identificadores) , si pueden tener acento , pero no es muy recomendado su uso.conclusión
Con let podemos re-definir valores , y con const no
Alcance de bloque
Compliquemos solo un poco el asunto , let y const van a tener un alcance de bloque , es decir , toda porción de código encerrada entre llaves: {}
*ya debiste ver los artículos sobre visualización de datos (consolé).
constnombre= "Erik" ;
console.log("El nombre fuera del bloque es")
console.log(nombre)
{
constnombre= "Carlos"
console.log("el nombre dentro del bloque es")
console.log(nombre)
//lo que imprimiremos sera la variable nombre dentro de este bloque
//que nada tiene que ver con las variables definidas afuera
}
console.log("El nombre fuera del bloque sigue siendo")
console.log(nombre)
Un ejemplo mas , con mas bloques y un poco mas limpio.
constnombre= "Erik" ;
console.log(nombre)
{
constnombre= "Carlos"
console.log(nombre)
}
{
constnombre= "Pedro"
console.log(nombre)
}
console.log("El nombre fuera del bloque sigue siendo")
console.log(nombre)
Resultado que imprime la consola
Hablemos sobre var -let y const fueron implementadas para sustituir a var , y si bien declarar variables con var es posible, ya no es aconsejable .
-Var ; no tiene una restricción de bloque , lo que usarlo nos deja un código difícil de estructurar y causa problemas si no nos fijamos bien en las variables que declaramos, solo deberíamos usarla en el remoto caso de que necesitemos declarar una variable Global , que se pueda acceder a su valor , dentro y fuera de los bloques.
conclusión
En conclusión ; la mayoría de variables debes declararlas con const , pero si necesitas que tu variable cambie su valor , en ese caso usa let .
var nunca pero nunca ,deberías utilizarla en la actualidad , siempre habrá una solución mejor que usar var.
despedida
Esperemos te haya servido de utilidad este articulo , síguenos en nuestras redes sociales para seguir aprendiendo juntos , compártenos cualquier duda o comentario que te haya surgido , puede ayudarnos a crecer a ambos.
TE DEJAMOS UNA imagen que puedes guardar como apuntes de tu progreso.